IEのXML標準準拠モードのDOCTYPE
-
19-09-2019 - |
質問
私は、通常のXMLドキュメントとCSSのInternet Explorerの標準準拠を行いますDOCTYPEタグのためにしばらく探してきました。 「XML」」通ってくるし6+ Internet Explorer用の十分なはずです - しかし、私は期待どおりの結果を得ることなく、例に見つける/思いつく限りのDOCTYPEタグを試してみました。たぶん私はここに何か他のものをしないのですが、基本的に私は(コード内の適切な場所で)右のDOCTYPEタグがそれをやるべきだと思います。
ここで私がテストしていたコードです
Test.cssます:
Message {
white-space: pre-wrap;
}
Test.xmlをます:
<?xml version="1.0"?>
<?xml-stylesheet href="Test.css" type="text/css"?>
<Message><![CDATA[
Some data
which is pre
formatted
]]></Message>
FF&Safariでそのまま上記の例では、正常に動作します。
解決
そのような事はありませんが、アプリケーション/ xmlの+ XHTML、XMLとHTMLを提供するため。それはHTMLなるし、ページをHTMLとして表示させるためにスタイルシートを使用することをふりをすることなく、あなたは、単に直接メールを書くことができるので、IEは、しかし、直接XMLをサポートしていません。誰もがあなたのXML要素の文法を理解しようとしていないので、この方法では、アクセシビリティやセマンティック違反になります。
そしてXMLが不十分ウェブで採用されている理由は、おそらくです。
他のヒント
私が見つけた限り、1ありません。ドキュメントは嘘。スタイルシートレンダリング生のXML文書は、理論的には、彼らは関係なく、常に(種類の時代遅れのではなく、とにかく、これらの日XMLにはあまり使用されている)のdoctypeの標準モードにする必要がある場合、Quirksモードであることを常に表示ます。
上記の例では、実際にも...私はこのような何かを使用してテストすることを示すものではありません。
<?xml-stylesheet href="test.css" type="text/css"?>
<potato>
<custard>X</custard>
</potato>
custard { width: 150px; padding: 50px; background: yellow; }
この代わりに、正しい250ピクセルの150ピクセルとして全幅+パディングをレンダリングします。いずれかを追加します:
<!DOCTYPE potato>
<!DOCTYPE potato SYSTEM "blankfile.dtd">
<!DOCTYPE potato PUBLIC "-//W3C//DTD XHTML 1.0//EN" "blankfile.dtd">
または「HTML」にルート要素を変更し、実際のXHTML DTD URIを参照するには、違いはありません。生のXMLレンダリングはQuirksモードのままです。これは、MIMEアプリケーション/ XHTML + xmlのメディアタイプの認識とは何の関係もありません。
私は、IEの生のXMLレンダリングが本当にIE5以降の更新を見ていない機能ですね。それは、ゆっくりと風変わりなと無用であり続けています。