From: Thierry Bézecourt (thierry.bezecourt@bdcworld.com)
Date: 01/10/2001 - 09:11
> -----Original Message-----
> From: jcp [mailto:Jean-Charles.Preaux@alternative-advice.com]
>
> J'utilise une classe PHP pour parser un document XML.
> Dans celle-ci est fait une difference entre contexte et
> expression XPATH.
> J'aurais voulu quelques explications à ce sujet.
Soit un document XML avec un "livre", qui comprend des "chapitre"s, qui
comprennent des "para" :
<livre>
<chapitre auteur='thb'>
<para>...</para>...</chapitre>
...
</livre>
Soit l'expression XPath suivante :
chapitre[@auteur='thb']
L'expression est la chaîne de caractères "chapitre[@auteur='thb']". Le
contexte est l'endroit où elle s'exécute. Par exemple, si on l'exécute
dans le contexte "livre", elle renverra les chapitres situés sous
l'élément "livre" et don't l'auteur est "thb". Si on l'exécute dans un
contexte "para", elle ne renverra rien car il n'y a pas de "chapitre" en
dessous d'un "para". Il est donc important de savoir où on se trouve
dans la structure d'un document XML avant d'appliquer une expression
XPath.
Concrètement, dans une feuille de style XSLT, le contexte est défini en
général par le template : la requête ci-dessous fonctionnera bien à
l'intérieur d'un template "livre".
Notez que la condition "@auteur='thb'" s'exécute dans un contexte
différent du reste de l'expression. En effet, elle s'applique à un
élément "chapitre" et à ses attributs. Le contexte sera donc constitué
par les éléments "chapitre", ou plus précisément les balises ouvrantes
"<chapitre ...>".
--
Thierry Bézecourt
Business Design Consulting, http://www.bdcworld.com
--
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)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|