Le lundi 13 décembre 2004 à 10:09 +0100, Fabrice Estiévenart a écrit :
> arf, oui mon exemple est évidemment mauvais, je cherche une solution plus
> générique valable pour d'autres position de B :
>
> A[1]/B[2] | A[1]/B[2]/following-sibling::*
> A[1]/B[3] | A[1]/B[3]/following-sibling::*
> ...etc
Il n'y a pas de solution générique simple, et je ne suis pas certain de
votre motivation pour éviter le "|"...
S'il s'agit d'éviter de répéter l'indice de l'élément B, vous pourriez
écrire :
A[1]/*[count(preceding-sibling::B|self::B) >= 2]
Si c'est pour éviter de répéter l'expression "A[1]/B[2]", vous pourriez
vous tourner vers des expressions plus tordues, du type :
.//*[count(preceding-sibling::*|current()/A[1]/B[2]) =
count(preceding-sibling::*)]
Tout cela me parait beaucoup plus compliqué que l'expression de départ
et il faut également faire attention à l'impact au niveau performance si
vos documents sont gros...
Cordialement,
Eric van der Vlist
--
Curious about Relax NG? Read my book online.
http://books.xmlschemata.org/relaxng/
------------------------------------------------------------------------
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
------------------------------------------------------------------------
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Mon Dec 13 11:09:20 2004