Frage

Ich habe für einen DOCTYPE-Tag für eine Weile gesucht, den Internet Explorer standardkonforme CSS mit einem normalen XML-Dokument machen, wie ich das white-space CSS-Attribut verwendet werden soll. Diese Seite dass die „Doctype heißt es mit ‚XML‘“sollte für Internet Explorer genug sein 6+ durch kommen - aber ich habe versucht, in den Beispielen alle DOCTYPE-Tag ich denken konnte, von / finden, ohne die erwarteten Ergebnisse. Vielleicht etwas anderes hier fehle ich, aber im Grunde glaube ich, den Tag richtig DOCTYPE (an der richtigen Stelle im Code) sollte es tun.

Hier ist der Code, mit denen ich zu testen:

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>

Das obige Beispiel funktioniert gut, wie sie ist in FF & Safari.

War es hilfreich?

Lösung

Es gibt nicht so etwas, weil IE noch nicht den richtigen MIME-Typen unterstützen, application / xml + xhtml, zum Servieren von HTML als XML. IE hat jedoch unterstützen XML direkt, so dass Sie einfach E-Mail direkt schreiben konnten, ohne es gab vor, HTML zu sein und dann einen Stylesheet verwenden, um die Seite als HTML erscheinen. Diese Methode wird in der Zugänglichkeit und semantischen Verletzungen zur Folge haben, weil niemand wird die Grammatik des XML-Elemente verstehen.

Und das ist wahrscheinlich, warum XML schlecht vom Netz angenommen wird.

Andere Tipps

Es gibt nicht ein, so weit wie ich gefunden habe. Die Dokumentation liegt. Stylesheet-rendered raw-XML-Dokumente werden immer im Quirks-Modus sein, wenn in der Theorie sie immer im Standardmodus sein sollte, unabhängig von doctypes (welche Art von veralteten und nicht so sehr in XML verwendete in diesen Tagen sowieso).

Das obige Beispiel ist nicht wirklich zeigen, dass obwohl ... ich mit so etwas wie dies getestet:

<?xml-stylesheet href="test.css" type="text/css"?>
<potato>
    <custard>X</custard>
</potato>

custard { width: 150px; padding: 50px; background: yellow; }

Dies macht die gesamte Breite + padding als 150px anstelle des richtigen 250px. Hinzufügen irgendeine von:

<!DOCTYPE potato>
<!DOCTYPE potato SYSTEM "blankfile.dtd">
<!DOCTYPE potato PUBLIC "-//W3C//DTD XHTML 1.0//EN" "blankfile.dtd">

oder das Wurzelelement zu ‚html‘ ändern und Verweisen auf den realen XHTML DTD URI, macht keinen Unterschied. Raw XML-Rendering bleibt im Quirks-Modus. Das hat nichts mit der Erkennung des MIME application / xhtml + xml Medientyp zu tun.

Ich denke, IE Roh-XML-Rendering ist eine Funktion, die nicht wirklich kein Updates seit IE5 gesehen hat. Weiter geht es langsam, schrullig und nutzlos sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top