Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1237 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XML/XSLT] J'ai la solution mais je comprend rien ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XML/XSLT] J'ai la solution mais je comprend rien ...

n°1360882
couleur ca​fe
la vie, le monde, les gens ...
Posté le 06-05-2006 à 14:26:31  profilanswer
 


Alors voilà,  
 
je débute en XML,XSLT et compagnie et je n'arrive à charger mon fichier XML avec mon fichier XSLT que je lance dans firefox. Voici l'entête de mon XML  
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <?xml-stylesheet type="text/xsl" href="file:/Users/kiki/Desktop/tutoriels/Projet/emploi.xsl"?>


 
et l'en-tête de mon xslt
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl-stylesheet  version="1.0"
  3. xmlns:xsl="http://ww.w3.org/1999/XSL/Transform">

 
 
Passé chacun dans le vérificateur de mon éditeur, y a pas de soucis.Lorsque je veux afficher mon xsl, j'ai l'erreur suivante :
 

Code :
  1. Error loading stylesheet: Parsing an XSLT stylesheet failed.


 
Je ne vous demande pas directement de corriger mon problème (quoique, si quelqu'un à une réponse)
J'ai fait des recherches. J'ai trouvé la réponse dans la faq de Mozilla  :bounce: ... mais en fait j'y comprends rien. Voici le texte :
 

Citation :

Make sure the mime type for both source and stylesheet are set to an XML mimetype, namely text/xml or application/xml. The XSLT namespace is http://www.w3.org/1999/XSL/Transform. Use the <?xml-stylesheet ?> processing instruction instead of the non-standard xml:stylesheet.
The most common cause is the mime type handling. To find out which MIME type your server sends, look at Page Info, use extensions like LiveHTTPHeaders or a download manager like wget.
Mozilla won't load XSLT stylesheets from a different domain for security reasons.


 
 :??:  
 
Je recherche des gens qui pourraient m'expliquer plus précisément ce qui ne va pas. Attention : je ne recherche pas de traducteur ou une réponse du style : "Ben, i suffit de modifier le mimetype de ton serveur !". Mais une réponse didactique ou suffisament précise pour que je puisse au moins avancé.
 
Allez merci d'avance pour toute réponse  :p

mood
Publicité
Posté le 06-05-2006 à 14:26:31  profilanswer
 

n°1360887
rx__
Paint It Black
Posté le 06-05-2006 à 14:44:34  profilanswer
 

couleur cafe a écrit :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl-stylesheet  version="1.0"
  3. xmlns:xsl="http://ww.w3.org/1999/XSL/Transform">



Si c'est un copy&paste de ton code, le problème vient probablement du fait que tu as tapé "xsl-stylesheet" au lieu de "xsl:stylesheet". Ce "xsl" est le namespace de l'élement et doit être le même que le "xsl" dans "xmlns:xsl".
 
Pour l'explication de Mozilla, ça ne concerne à priori que les fichiers qui sont servis par un serveur web. Il me semble qu'il n'y a pas de problème de mime type quand il s'agit de fichiers venant du disque.

n°1360902
couleur ca​fe
la vie, le monde, les gens ...
Posté le 06-05-2006 à 15:26:49  profilanswer
 

mauvaise piste, c'est justement le xml-stylesheet qui est "homologué" et donc supporté par firefox.  
cependant xml:stylesheet marche sous ie. en fait j'ai essayé les deux de toute façon mais pour le :, j'ai carrément une erreur

n°1361009
rx__
Paint It Black
Posté le 06-05-2006 à 20:58:31  profilanswer
 

couleur cafe a écrit :

mauvaise piste, c'est justement le xml-stylesheet qui est "homologué" et donc supporté par firefox.  
cependant xml:stylesheet marche sous ie. en fait j'ai essayé les deux de toute façon mais pour le :, j'ai carrément une erreur


Attention, je parle de la stylesheet, pas du document xml qui fait référence à la stylesheet. L'élément principal d'une stylesheet est obligatoirement

Code :
  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


ou

Code :
  1. <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


ou, pour illustrer mon propos sur le namespace,

Code :
  1. <hippopotame:stylesheet version="1.0" xmlns:hippopotame="http://www.w3.org/1999/XSL/Transform">

n°1361250
couleur ca​fe
la vie, le monde, les gens ...
Posté le 07-05-2006 à 13:34:04  profilanswer
 

ben oui, la stylesheet. Ben ça marche pas, le problème ne vient pas de là.
Enfin j'ai peut être pas compris ce que tu me dis. si ce que tu me préconise c'est de remplacer xsl-stylesheet par xsl:stylesheet, je l'avais déjà essayé avant de poster. En fait, c'est même le premier truc que j'ai fait.

n°1361254
couleur ca​fe
la vie, le monde, les gens ...
Posté le 07-05-2006 à 13:46:23  profilanswer
 

Personne pour donner des explications sur le mime type ?

n°1361315
rx__
Paint It Black
Posté le 07-05-2006 à 15:51:51  profilanswer
 

hmmm, tu as tapé "http://ww.w3.org/1999/XSL/Transform"... c'est www.w3c.org

n°1361400
couleur ca​fe
la vie, le monde, les gens ...
Posté le 07-05-2006 à 18:58:31  profilanswer
 

s'pa ça ... :(

n°1362036
rx__
Paint It Black
Posté le 08-05-2006 à 22:26:32  profilanswer
 

Ben moi j'ai écrit ça et ça fonctionne sans problème...
 
xml

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <?xml-stylesheet type="text/xsl" href="foo.xsl"?>
  3. <foo>
  4.         bar
  5. </foo>


xsl

Code :
  1. <?xml version="1.0" ?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="//foo">
  4.         <xsl:copy-of select="." />
  5. </xsl:template>
  6. </xsl:stylesheet>

n°1362051
FlorentG
Unité de Masse
Posté le 08-05-2006 à 22:57:34  profilanswer
 

rx__ a écrit :

hmmm, tu as tapé "http://ww.w3.org/1999/XSL/Transform"... c'est www.w3c.org


Non, le Namespace officiel d'XSLT est bien en w3.org :

http://www.w3.org/1999/XSL/Transform

mood
Publicité
Posté le 08-05-2006 à 22:57:34  profilanswer
 

n°1362055
FlorentG
Unité de Masse
Posté le 08-05-2006 à 23:04:52  profilanswer
 

Pour ce qui est du type MIME :
 
Chaque fois qu'on demande un fichier à un serveur web, il envoie le type de fichier dans l'entête. Si on regarde par exemple sur ce forum lorsqu'une page est demandée, on retrouve :

Content-Type: text/html


Le type MIME d'une page html est donc text/html. Comme ça, quelque soit l'extension (.htm, .html, .php, .asp), le navigateur sait que ce qu'envoi le serveur est de l'html. Si le serveur envoie autre chose, ça fout évidemment le bordel.
 
Pour les documents XSLT, c'est pareil, faut le bon type mime. Donc les valeurs possibles sont text/xml ou application/xml (cf. fin de l'introduction).
 
Pour que le serveur soit au courant du type mime, faut lui associer extension/type. Pour Apache par exemple, faut mettre dans le fichier .htaccess la ligne suivante :

AddType text/xml .xsl

n°1362337
rx__
Paint It Black
Posté le 09-05-2006 à 13:38:03  profilanswer
 

FlorentG a écrit :

Non, le Namespace officiel d'XSLT est bien en w3.org :

http://www.w3.org/1999/XSL/Transform



Oui mais lui a tapé ww.w3c.org, avec seulement 2 w...

n°1362394
FlorentG
Unité de Masse
Posté le 09-05-2006 à 14:27:04  profilanswer
 

Ah okaÿ :jap:


Message édité par FlorentG le 09-05-2006 à 14:27:16

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XML/XSLT] J'ai la solution mais je comprend rien ...

 

Sujets relatifs
UML et parsseur XMLImportation données XML vers BDD MySql
Ajax : Récupérer un flux XML coté serveurEn PHP, comment placer les données d'un XML dans MySQL avec XSLT ?
[Resolu] Solution technique pour gestion multilingue[XSL-T] Affichage d'une liste XML sous forme de tableau HTML
Solution de cache : laquelle choisir ?Transformation XSLT
Xalan C : fusion XSLT capricieuse 
Plus de sujets relatifs à : [XML/XSLT] J'ai la solution mais je comprend rien ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR