Bonjour,

Dans ma feuille XSLT, je n'arrive pas à accéder à la valeur de mes noeuds avec <xsl:value-of select="...xpath de mon noeud..." /> lorsque mon fichier XML source [B]est associé à un schéma XML[/B]. Ca marche en revanche très bien si j'enlève l'appel à mon schéma dans la balise Root de mon fichier XML. Savez-vous pourquoi ? Y-a t-il quelque chose que j'ai oublié de préciser dans la feuille XSLT lorsque le fichier XML est lié à un schéma ?

merci d'avance pour votre aide.
Modifié par mathmax (23 Nov 2006 - 21:21)
Tu n'aurais pas un problème d'espace de nom par défaut lorsque tu associes ton XML au schéma?
Que veux-tu dire par espace de nom par défaut ? Quelques détails supplémentaire, si ça peux t'aider à comprendre mon problème :
- Mon fichier .xsd est dans le même dossier que mon fichier .xml et l'appel dans le fichier .xml au schéma se fait comme ceci :
<Root xmnls="/MonSchema.xsd">....</Root>
- Tu peux jeter un coup d'oeil à mon fichier .xsd ici
Modifié par mathmax (23 Nov 2006 - 11:15)
Ce que j'ai pu trouver est dans la recommandation Namespaces in XML 1.0. On y lit entre autres, dans la partie Use of URIs as Namespace Names, que l'usage des URI relatives dans une déclaration d'espace de nom est déprécié. Plus précisément
a écrit :

This deprecation of relative URI references was decided on by a W3C XML Plenary Ballot. It also declares that "later specifications such as DOM, XPath, etc. will define no interpretation for them".


Il est donc possible que si tu spécifies, comme tu le fais, un chemin relatif pour accéder à ton schéma, "ton" XPath l'ignore superbement (si j'ai bien interprété la citation ci-dessus).

En passant, je suis tombé sur cette superbe phrase, extraite de la recommandation XPath 1.0, plus précisément de la section consacrée aux Namespace Nodes:
a écrit :

Elements never share namespace nodes: if one element node is not the same node as another element node, then none of the namespace nodes of the one element node will be the same node as the namespace nodes of another element node.

Je trouve qu'elle vaut son pesant de kiwis, quand on la répète rapidement plusieurs fois de suite Smiley lol
Merci beaucoup pour ta réponse Gilles.

C'est vrai que si on lit un peu rapidement cette phrase la première fois, on risque de ne pas comprendre grand chôse... Smiley smile

Concernant mon problème, ta première réponse était la bonne. Si j'ai bien compris
xmlns="http://tempuri.org/dtsOrkosNews.xsd"

est un espace de nom par défaut.

Et vu de ce qui est marqué ici, ça pose problème avec xPath.
Heureusement, celui qui me fourni le xml peut m'enlever cet espace de nom par défaut. Smiley smile