2010-09-14 22 views
0

Par exemple.Pourquoi est-ce que la feuille de style xsl est appliquée par le navigateur uniquement lorsque l'extension est xml

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head>...</head> 
    <body> 
    <h1>Example</h1> 
    .... 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> 
     <mi>x</mi><mo>+</mo><mn>3</mn> 
    </math> 
    </body> 
</html> 

Si le fichier ci-dessus est nommé mathml.xml, puis Firefox affiche correctement le MathML, mais pas lorsque son nommé comme mathml.html.

+1

Il est généralement au navigateur, mais il semblerait que l'extension HTML implique qu'il est HTML - qui est SGML et non XML. Il serait plus raisonnable pour le navigateur de regarder le type MIME donné par le serveur, mais depuis quand les navigateurs étaient-ils raisonnables? –

+0

@Pavel: Je n'utilise pas Firefox mais je doute vraiment qu'il ignore le type MIME. Il est plus probable qu'il s'agisse d'une configuration de serveur Web car ils envoient généralement le type MIME en fonction de l'extension de fichier lorsqu'ils ne sont pas remplacés. – musiKk

Répondre

1

vous pouvez utiliser mathml.xhtml

+0

Assez sympa, ça fonctionne avec l'extension xhtml, alors maintenant, si je veux coller à l'extension html, tout ce que j'ai à faire est de forcer apache à retourner le type mime comme xhtml pour les fichiers avec l'extension html? comment fait-on cela? – freethinker

0

Chargez-vous le fichier localement ou sur un réseau?

Si c'est sur un réseau, votre serveur Web définit presque définitivement le type MIME en fonction du suffixe du nom de fichier. Vous pouvez vérifier cela en installant une extension Firefox telle que Web Developer et en vérifiant les en-têtes de réponse.

Si vous chargez le fichier localement, votre système d'exploitation ou votre navigateur détermine probablement le type MIME à partir du suffixe du fichier.

Firefox ne va traiter que le fichier XML de la feuille de style xml lorsqu'il identifie le fichier au format XML.

+0

J'ai essayé les deux, localement en donnant le chemin au fichier et en utilisant apache, dans les deux cas j'obtiens le même résultat. – freethinker

+0

Cela a du sens - localement, le navigateur décide que votre fichier est XML en regardant le suffixe. Sur le réseau, Apache fait la même chose. Vous * pourriez * (je ne le considérerais pas comme une bonne idée), forcez Apache à retourner un type XML MIME pour les fichiers .html. Je suppose que la question la plus importante serait: qu'essayiez-vous de faire? –

+0

L'objectif principal est d'utiliser xsl dans des fichiers html, puis d'ouvrir un document xml sur le serveur à l'aide de la fonction de document xsl, puis de le transformer en un menu de navigation html. Fondamentalement en utilisant la fonction document xsl en remplacement de SSI. – freethinker