3

たとえば、どのように埋め込むことができますか

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

私のXHTMLでは?

私はそれを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ではなくテキストとして解析されます。

次に、これを取得します...

ここに画像の説明を入力してください

...しかし私はこのようなものが欲しい:

ここに画像の説明を入力してください

4

1 に答える 1

3

CDATAは文字をエスケープする方法であり、埋め込みの方法ではないことに注意してください。さて、あなたの質問に移りましょう。

私の知る限り、XMLファイルを埋め込む唯一の方法は、オブジェクトタグまたはiframeを使用することです。

<!-- 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ビューアー・ウィンドウで表示することです。これはおそらくあなたが望むものです。

チャートは次のとおりです。

   レイアウトエンジン(ブラウザ)| <オブジェクト>| <iframe>
 -------------------------------------------------- --------
  Gecko(Firefox)| インラインテキスト| XMLビューア
  Webkit(Safari /新しいOpera)| インラインテキスト| インラインテキスト
  点滅(クローム/クロム)| インラインテキスト| インラインテキスト
  Presto(旧オペラ)| XMLビューア| XMLビューア
  トライデント(IE5-IE8)| インラインテキスト| XMLビューア

prestoが置き換えられているため、実行可能な唯一の組み合わせとしてiframe+firefoxが残ります。

誰かがIEでテストできる場合は、結果をテーブルに編集してください。

于 2013-11-02T03:51:52.103 に答える