Question

J'ai cherché pendant un certain temps pour une balise DOCTYPE qui fera document XML conforme aux standards d'Internet Explorer pour css avec une normale, comme je veux utiliser l'attribut CSS white-space. Cette page indique que l'utilisation du « DOCTYPE «XML » devrait être suffisant pour Internet explorer 6+ à venir à travers - Mais j'ai essayé chaque balise DOCTYPE je pouvais penser / trouver dans les exemples, sans obtenir les résultats escomptés. Peut-être que je manque quelque chose d'autre, mais au fond, je pense que le juste DOCTYPE (au bon endroit dans le code) devrait le faire.

Voici le code que je teste avec:

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>

L'exemple ci-dessus fonctionne bien comme-est en FF et Safari.

Était-ce utile?

La solution

Il n'y a pas une telle chose, parce que IE ne supporte pas encore le bon type MIME, application / xml + xhtml, pour servir HTML en XML. IE ne soutient toutefois XML directement de sorte que vous pouvez simplement écrire email directement sans elle fait semblant d'être HTML et utiliser une feuille de style pour rendre la page apparaissent comme HTML. Cette méthode se traduire par des violations et l'accessibilité sémantique parce que personne ne va comprendre la grammaire de vos éléments XML.

Et c'est probablement pourquoi XML est mal adopté par le web.

Autres conseils

Il n'y a pas, pour autant que je l'ai trouvé. Les documents se trouvent. documents XML brut rendus stylesheet-semblent toujours être en mode bizarreries, alors qu'en théorie, ils doivent toujours être en mode standard quel que soit doctypes (qui sont un peu vétuste et non utilisé tant en XML ces jours-ci de toute façon).

L'exemple ci-dessus démontre pas vraiment que si ... Je l'ai testé avec quelque chose comme ceci:

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

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

Ceci rend la largeur totale + rembourrage 150px au lieu du 250px correct. Ajout d'un quelconque parmi:

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

ou en changeant l'élément racine de « html » et faisant référence à la véritable XHTML URI DTD, ne fait aucune différence. rendu XML brut reste en mode bizarreries. Cela n'a rien à voir avec la reconnaissance de l'application MIME / xhtml + xml type de média.

Je suppose que le rendu-XML brut de IE est une fonctionnalité qui n'a pas vraiment vu des mises à jour depuis IE5. Il continue d'être lent, bizarre et inutile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top