2013-03-17 2 views
3

, 어떻게 내 XHTML에서XHTML 문서 내에 XML 문서를 삽입하려면 어떻게해야합니까? 예를 들어

<?xml version="1.0" encoding="utf-8"?> 
<root> 
    <node><![CDATA[Text]]></node> 
</root> 

을 포함 할 수 있습니다?

내가 CDATA 섹션에 넣을 수있어

...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
<title>My title</title> 
</head> 
<body> 
<p>I am a XHTML paragraph!</p> 
<div> 
    <![CDATA[ 
    <?xml version="1.0" encoding="utf-8"?> 
    <root> 
     <node>Text</node> 
    </root> 
    ]]> 
</div> 
</body> 
</html> 

...하지만 그때는 XML 파일의 CDATA 섹션을 제거해야하고, XML은 텍스트 대신 XML로 구문 분석됩니다. 그런 다음

, 나는

enter image description here

...이 얻을 ...하지만 난 이런 걸 원하는 :

enter image description here

+0

나는 그것을 얻지 못했다. 원시 XML을 표시하고 가독성을 위해 포맷 하시겠습니까? – Jodes

+0

@Jodes 예. 따라서 브라우저가 XHTML 파서를 사용하여 XHTML을 구문 분석하고 XML 파서를 사용하여 XML을 구문 분석하도록합니다. – Oriol

답변

2

CDATA는 단지 방법입니다 점에 유의하세요 이스케이프 문자가 아니라 포함 방법. 지금 귀하의 질문에 :

는 지금까지 내가 아는 한, object 태그 또는 iframe을 사용하는 것입니다 XML 파일을 포함 할 수있는 유일한 방법 :

<!-- Keep in mind that iframe is invalid in XHTML 1.0 and 1.1.--> 
<iframe src="data:application/xml,&lt;root&gt;&lt;node&gt;Text&lt;/node&gt;&lt;/root&gt;"/> 
<!-- When using `data:mime/type,[data]' the type attribute is overriden --> 
<object data="data:application/xml,&lt;root&gt;&lt;node&gt;Text&lt;/node&gt;&lt;/root&gt;"/> 

여기에 문제가있다가 그 일부 브라우저 것 단지 XML 내용을 인라인 텍스트로 표시하고 다른 내용은 원하는대로 XML 뷰어 창에 표시됩니다. 프레스토 이후

 
    layout engine (browser) | <object> | <iframe> 
---------------------------------------------------------- 
    Gecko (Firefox)    | inline text | XML viewer 
    Webkit (Safari/new Opera) | inline text | inline text 
    Blink (Chrome/Chromium)  | inline text | inline text 
    Presto (old Opera)   | XML Viewer | XML viewer 
    Trident (IE5-IE8)   | inline text | XML Viewer 

이 대체되고, 당신은 당신의 유일한 가능한 조합 등은 iframe + 파이어 폭스로 남겨 :

여기 차트입니다.

누군가가 IE로 테스트 할 수있는 경우 결과를 표로 편집하십시오.

+0

[** JSFiddle **] (http://jsfiddle.net/qvRzT/1/). 재미있는 점은'