Domanda

Ho cercato per un po 'per un tag DOCTYPE che farà di Internet Explorer conforme agli standard per i CSS con un documento XML normale, come voglio utilizzare l'attributo CSS white-space. Questa pagina afferma che utilizzando il "doctype 'XML'" dovrebbe essere sufficiente per Internet Explorer 6 a venire attraverso - ma io ho provato ogni tag DOCTYPE riuscivo a pensare a / trovare in esempi, senza ottenere i risultati attesi. Forse mi manca qualcosa qui, ma in fondo penso che il tag DOCTYPE destra (al posto giusto nel codice) dovrebbe farlo.

Ecco il codice che sto testando con:

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'esempio precedente funziona bene così com'è in FF e Safari.

È stato utile?

Soluzione

Non esiste una cosa, perché IE non supporta ancora il corretto mime-type, application / xml + xhtml, per servire HTML come XML. IE, tuttavia, il supporto XML direttamente in modo si potrebbe semplicemente scrivere e-mail direttamente senza che finse di essere HTML e quindi utilizzare un foglio di stile per rendere la pagina viene visualizzata in formato HTML. Questo metodo si tradurrà in accessibilità e violazioni semantiche perché nessuno sta andando a comprendere la grammatica dei vostri elementi XML.

E questo è probabilmente il motivo per XML è scarsamente adottato dal web.

Altri suggerimenti

Non c'è una sola, per quanto ho trovato. La documentazione si trovano. documenti raw-XML stylesheet rendering appaiono sempre di essere in quirks mode, quando in teoria dovrebbero essere sempre in modalità standard indipendentemente dal doctype (che sono tipo di antiquata e non usato così tanto in XML in questi giorni in ogni caso).

L'esempio di cui sopra in realtà non dimostra che anche se ... ho provato con qualcosa di simile:

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

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

Ciò rende la larghezza totale + padding come 150 pixel invece del 250px corretta. L'aggiunta di uno di:

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

o cambiando l'elemento radice per ‘html’ e riferimento reale XHTML DTD URI, non fa differenza. il rendering XML grezzo rimane in quirks mode. Questo è niente a che fare con il riconoscimento del / xhtml + xml tipo di supporto MIME applicazione.

Credo che il rendering raw-XML di IE è una caratteristica che non ha davvero visto alcun aggiornamento dal IE5. Continua ad essere lenta, eccentrico e inutile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top