Re: Xpath et position()

Eric van der Vlist <[email protected]>
Newsgroups gmane.text.xml.french.tech
Organization Dyomedea (http://dyomedea.com)
Message-ID <[email protected]>
Bonjour,
Le mercredi 05 avril 2006 à 12:25 +0200, Nicolas Delaby a écrit :
> Bonjour,
> je rencontre une difficulté pour exprimer la position d'un noeud parmis tous
> les autres noeuds qui portent le même nom, en xpath.
> par exemple
> <root>
> <a/>
> <b/>
> ...
> <a/>
> </root>
> 
> dans mon template qui match sur <a/>, j'aimerai obtenir la position du noeud
> courant par rapport à l'ensemble des noeuds <a/>, et non pas par rapport à
> l'ensemble des fils de <root/>.
> 
> Est-ce possible ?

Dans un template, "position()" indique toujours la position par rapport
à la liste de noeuds sélectionnés dans le xsl:apply-templates
correspondant.

Si vous voulez utiliser position() par rapport à l'ensemble des noeuds
<a/>, il faut donc que votre xsl:apply-templates porte uniquement sur
ces noeuds.

Si ce n'est pas possible compte tenu de ce que vous cherchez à faire,
vous pouvez compter les éléments <a/> précédents pour obtenir le même
résultat : "count(preceding::a) + 1" devrait faire l'affaire!

Cordialement,

Eric van der Vlist 

-- 
GPG-PGP: 2A528005
Lisez-moi sur XMLfr.
                       http://xmlfr.org/index/person/eric+van+der+vlist/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


-- Attached file included as plaintext by Ecartis --

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBEM5xpDvn+ZCpSgAURAslwAJ0VzGrV6TREB6XkF5sgSl5fdLYwcgCfcuCd
E5evmXV9KrZmnfr6BHASRDM=
=SG3X
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.