Ich versuche XML + XSL 2.0 im Browser zu rendern, indem ich .xml
Seiten mit application/xml
Inhaltstyp und .xsl
Seiten mit text/xml
zurückgebe. Safari beschwert sich über das Hauptdokument: "Ressource wird als Dokument interpretiert, aber mit dem MIME-Typ application / xml übertragen." (aber macht immer alles gut).
Ich möchte diese Warnmeldung loswerden. Welche Inhaltstypen sollten für das XML-Dokument verwendet werden?
Ich hatte Erfolg mit text / xml mit dem Stylesheet als text / xsl (oder vielleicht ist das OK wie text / xml, wie Sie es haben). text / xsl ist allgemein anerkannt, aber nicht "offiziell" (soweit ich es verstehe).
Gemäß RFC 3023: "Wenn ein XML-Dokument, dh das unbearbeitete Quell-XML-Dokument, von gelegentlichen Benutzern gelesen werden kann, ist text / xml der Anwendung / xml vorzuziehen. MIME-Benutzeragenten (und Web-Benutzeragenten), die dies nicht tun explizite Unterstützung für text / xml behandelt es als text / plain, indem es beispielsweise die XML MIME-Entität als einfachen Text anzeigt.Application / xml ist vorzuziehen, wenn die XML MIME-Entität von gelegentlichen Benutzern nicht gelesen werden kann. "
Siehe Ссылка
Wenn Sie in die WebKit-Quelle schauen, können Sie leicht erkennen, welche MIME-Typen für jeden Ressourcentyp als gültig angesehen werden. Es ist keine sehr große Liste.
Die folgenden 4 MIME-Typen werden für "Dokumente" unterstützt:
text/html
text/xml
text/plain
application/xhtml+xml
Es gibt nur zwei gültige Typen für Stylesheets:
text/css
text/xsl
Offensichtlich gelten die Typen text/html
, text/plain
und text/css
hier nicht wirklich.
Wenn Sie nur daran interessiert sind, die Warnungen zum Schweigen zu bringen, sollten Sie das Dokument .xml
als text/xml
und das .xsl
-Dokument als text/xsl
verwenden.
Andererseits, Sie räumen ein, dass alles in Ordnung ist, also könnten Sie die Strategie "Wenn es nicht kaputt ist, reparieren Sie es nicht" betrachten.