Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: following:sibling[][] ??

[xml-tech] Re: following:sibling[][] ??

Auteur: Amoureux erwan <erwan.amoureux@douane.finances.gouv.fr>
Date: 01/12/2005 - 13:34
X-Mailer: Microsoft Outlook Express 6.00.2900.2180

>Sans rentrer dans les détails, quand vous écrivez
>following-sibling::*[][],
>> * "following-sibling" est le nom de l'axe de >recherche.
>> * "*" est un raccourci qui signifie "n'importe quel élément".

On n'en a deja debattu mais comme rappel, * est un raccourci pour les type element pas les text() et autres nodes() par exemple

>> * "[]" dont des prédicats (c'est à dire des conditions) évalués
>> les uns à la suite des autres (de gauche à droite) et se
>> restreignant les uns les autres. Dans la plupart des cas,
> > l'effet est le même que si on écrivait un seul prédicat avec des
> > "and" entre les critères.

>>Dans ces prédicats, les parenthèses ont la signification qu'elles ont
>>dans tous les langages de programmation : elles permettent de grouper
>>des termes.

>>Tout cela est expliqué dans la spécification :

>>http://xmlfr.org/w3c/TR/xpath#location-paths

Je pense qu'il faudrait quand même spécifié les () peu evidente et dont l'explication syntaxique ce trouve uniquement dans la grammaire de la norme(pas la partie la plus abordable)
Fonctionnement:
les parenthese gauches se pacent TOUJOURS au debut de l'expression ainsi
((/A/B[1])[1])/C est valide
(/A(/B[1])[1])/C ou (/A/(B[1])[1])/C ou (/A/B([1])[1])/C etc... sont faux

difference entre
/A/B[1][1] et(/A/B[1])[1]

/A/B[1][1] il n'y a pas de priorité entre les [] comme deja fait remarqué equivalent a /A/B[position()=1 and position()=1]

(/A/B[1])[1] on evalue d'abord (/A/B[1]):Pour chaque A on prend son premier fils B ensuite , sur ce nouveau node-set on applqiue l'autre condition.
Ici ce la nous donnera le premier B cette selection.

Attention , les preceding et ancestor par exemple inverse normalement le sens des noeuds
ainsi pour
<?xml version="1.0" encoding="UTF-8"?>

<R>

<a>

<b>1</b>

</a>

</R>

//b/ancestor::*[1] c'est a le premier element, mais les () range automatiquement dans le sens des child::*
(//b/ancestor::*)[1] c'est donc R le premier element

En esperant avoir été assez clair

--
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 Thu Dec 1 14:37:07 2005

Archive générée par hypermail 2.1.8 le 01/01/2006 - 21:42 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement