2012-12-06 15 views
6

Ho un file XML che è stilizzato usando un file XSL. Quando si apre il file XML in Firefox, ottengo nessun problema, (anche se stranamente, a volte viene visualizzato solo dopo che ho colpito "ricarica"), ma in Chrome/Chromium ricevo il seguente messaggio di errore:Chrome dice: Risorsa interpretata come foglio di stile ma trasferita con tipo MIME application/xml

Resource interpreted as Stylesheet but transferred with MIME type application/xml 

I file sono qui sopra: http://jonreeve.com/test/mike/biblexml.xml

Non penso che ci sia qualcosa di irregolare nella sintassi XML/XSL, e anche i collegamenti sembrano essere formulati correttamente.

Inoltre, questo non sembra essere simile a tutte le domande dall'aspetto simile qui, che sembrano avere a che fare con javascript e altre applicazioni. Questo è solo XML/XSL puro.

risposta

1

XSLT deve essere consegnato con tipo MIME application/xslt+xml, non application/xml. Dovresti configurare il tuo server per farlo. Avete bisogno di un file di .htaccess che contiene la riga

AddType application/xslt+xml .xsl 

Questo associa l'estensione .xsl con il tipo MIME corretto. Se hai già un file .htaccess nella directory XSLT o in una directory superiore, puoi aggiungere la linea. Altrimenti, crea un file di questo tipo.

+1

Aggiunta di un.Il file htaccess mi dà un messaggio "Proibito" con la nota "Inoltre, si è verificato un errore 404 non trovato durante il tentativo di utilizzare un ErrorDocument per gestire la richiesta." Ho provato a rendere i file eseguibili, ma questo non ha alcun effetto. – Jono

4

Il XSLT 1.0 spec indica chiaramente che il tipo MIME appropriato per XSLT è testo/XML e application/xml

The MIME media types text/xml and application/xml [RFC2376] should be used for XSLT stylesheets. It is possible that a media type will be registered specifically for XSLT stylesheets; if and when it is, that media type may also be used.

In XSLT 2.0 questo è stato modificato in application/xslt + xml.

Ma

In the absence of a registered media type for XSLT stylesheets, some vendors' products have adopted different conventions, notably type="text/xsl".

Chrome 32.0.1700.107 restituisce gli errori:

Risorsa interpretato come foglio di stile, ma trasferito con il tipo MIME text/xml;

Risorsa interpretata come foglio di stile ma trasferita con tipo MIME application/xml;

Risorsa interpretata come foglio di stile ma trasferita con tipo MIME application/xslt + xml;

Chrome non ha prodotto alcun errore se text/xsl tipo approvato.

Problemi correlati