Comment accéder à des noeuds appartenant à des espaces de noms avec XSLT?
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
vendredi 5 janvier 2001
Je n'arrive plus à référencer les noeuds de mon document XML depuis que j'ai défini un espace de noms:
<resultat xmlns="http://xmlfr.org/ns/piles_schemas">
Pour qu'il y ait correspondance au niveau de XSLT, il faut impérativement que cet espace de noms soit déclaré dans votre feuille XSLT, soit par exemple:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:pile=" http://xmlfr.org/ns/piles_schemas ">
et que tous les noms d'éléments soient préfixés par le préfixe que vous aurez choisi:
<xsl:template match="pile:resultat/pile:Pile">
Ceci est également vrai pour les attributs mais il faut tenir compte du fait que l'espace de noms par défaut ne s'applique pas aux attributs (et qu'il ne faudra donc préfixer dans la feuille XSLT que les attributs qui auront été préfixés dans le document XML).
Pour référencer un attribut écrit dans le document XML comme :
<Pile id="1">
on écrira donc:
select = "pile:Pile/@id"
alors que pour référencer un attribut
<Pile pile:id="1">
on écrira:
select = "pile:Pile/@pile:id"
[xml-tech] J'comprends rien ca veux pas marcher!!! (suite)[xml-tech] Re: J'comprends rien ca veux pas marcher!!! (suite)[xml-tech] un formatage XSLT qui parrait pourtant simple...[xml-tech] Re: un formatage XSLT qui parrait pourtant simple...
Copyright 2001,
Eric van der Vlist.
|