Article View: fr.comp.text.xml
Article #9244Re: XPath et la difficult� de son �criture.
From: Rapha�l THERY
Date: Thu, 03 May 2001 07:58
Date: Thu, 03 May 2001 07:58
72 lines
4361 bytes
4361 bytes
On ne peut trouver plus explicite Je vous en remercie Rapha�l Tom. <ptittom+news@free.fr> a �crit dans le message : 4330048.TlGXAFRqVo@ltgt.net... > In <iCPH6.1867$vt6.23868538@nnrp6.proxad.net>, Rapha�l THERY wrote: > > Si j'ai bien compris > > j'utilise dans un premier temps un axe descandant : child qui me permet de > > pointer le noeud de travail > > et ensuite, au sein de la m�me expression, je change d'orientation pour > > pointer le pr�c�dant ou le suivant. > > Euh, oui. > > > Donc selon toute logique on ne peut trouver d'axes diff�rents dans un > > "pr�dicat de recherche". > > !? > > Un chemin de localisation est composer d'�tapes de localisations, s�par�es > par des / et totalement ind�pendantes les unes des autres. > Une �tape est compos�e d'un axe et un test de noeud, et �ventuellement un > ou plusieurs pr�dicats. Chaque �tape est �valu�e relativement � chaque > noeud s�lectionn� par l'�tape pr�c�dente. Un pr�dicat peut contenir > n'importe quelle expression. > > L'axe d�crit un sens de parcours � partir du noeud contextuel, chaque noeud > sur cet axe est alors compar� au test de noeud. Si le test r�ussit, le > noeud est "s�lectionn�" et ajout� � l'ensemble de noeud r�sultat. > Relativement � chaque noeud s�lectionn� on �value alors les pr�dicats. Pour > un noeud donn�, si le pr�dicat s'�value � faux ou � un nombre diff�rent de > la position du noeud dans l'ensemble de noeuds s�lectionn�s, le noeud est > retir� de cet ensemble. � la fin de ce traitement, on a un ensemble de > noeuds s�lectionn�s par l'�tape de localisation. > On �value ensuite l'�tape suivante en prenant comme noeud contextuel > successivement chacun des noeuds pr�c�demment s�lectionn�s. Le r�sultat est > l'union de tous ces ensembles de noeuds. > Et ainsi de suite jusqu'� avoir �valu� le chemin complet. > > Une �tape de localisation s�lectionne des noeuds, elle permet donc de "se > d�placer". Le pr�dicat donne des r�gles pr�cises pour s�lectionner ces > noeuds. > > child::foo/preceding-sibling::bar/attribute::baz > s�lectionne tous les sous-�l�ments foo du noeud contextuel puis pour > chacun tous les noeuds bar qui le pr�c�dent (et qui ont le m�me �l�ment > parent) et enfin leur attribut baz. Le r�sultat est donc un ensemble de > noeuds d'attributs baz. > > child::foo[preceding-sibling::bar/attribute::baz] > s�lectionne tous les sous-�l�ments foo du noeud courant pour lesquels > l'�valuation du pr�dicat retourne un ensemble de noeud non vide. > Le r�sultat est un ensemble de noeuds foo. > > Pour tenter de faire une analogie avec SQL, le test de noeud correspond � > la clause SELECT et le pr�dicat � la clause WHERE. > > >> $Fichier/fils[@nature=1][@nom=current()/@nom]/preceding-sibling::fils[1]/ > >> @Name > >> ^^^ > > > > Concernant les lignes ci dessus pourquoi les "^^^" ? > > juste pour signaler la partie int�ressante de l'expression. > > Tom.
Technical Details
Message-ID:
<Sc8I6.2063$of5.4316201@nnrp5.proxad.net>Path:
arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!fr.clara.net!heighliner.fr.clara.net!proxad.net!feeder2-1.proxad.net!nnrp5.proxad.net.POSTED!not-for-mailReferences:
<HobG6.253$Lw4.656473@nnrp4.proxad.net> <1135038.FpCBEx9A2H@ltgt.net> <iCPH6.1867$vt6.23868538@nnrp6.proxad.net> <4330048.TlGXAFRqVo@ltgt.net>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,935aebe3b6637edb X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-05-03 00:58:43 PST Path: arc1-ca.pugleaf.net!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!fr.clara.net!heighliner.fr.clara.net!proxad.net!feeder2-1.proxad.net!nnrp5.proxad.net.POSTED!not-for-mail From: "Rapha�l THERY" <raphael.thery@free.fr> Newsgroups: fr.comp.text.xml References: <HobG6.253$Lw4.656473@nnrp4.proxad.net> <1135038.FpCBEx9A2H@ltgt.net> <iCPH6.1867$vt6.23868538@nnrp6.proxad.net> <4330048.TlGXAFRqVo@ltgt.net> Subject: Re: XPath et la difficult� de son �criture. Lines: 74 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Message-ID: <Sc8I6.2063$of5.4316201@nnrp5.proxad.net> Date: Thu, 03 May 2001 07:58:42 GMT NNTP-Posting-Host: 195.115.154.77 X-Complaints-To: abuse@proxad.net X-Trace: nnrp5.proxad.net 988876722 195.115.154.77 (Thu, 03 May 2001 09:58:42 CEST) NNTP-Posting-Date: Thu, 03 May 2001 09:58:42 CEST Organization: Guest of ProXad - France