ou encore plus simplement :
//personne[@diffusion = 'public'][mandats/mandat[@fin='' and
@type='elu' ]]
Stéphane.
Le mercredi 20 juillet 2005 à 19:07 +0200, Jean-Christophe Kermagoret a
écrit :
> Bonjour,
> à vue de nez, je pense que c'est parce que vos critères sont testés
> qu'ils appartiennent ou non au même noeud.
>
> J'essaierai plutôt qque chose comme cela :
>
> //personne[@diffusion = 'public']/mandats/mandat[@fin='' and
> @type='elu']/../..
> ou
> //mandats/mandat[@fin='' and @type='elu']/../personne[@diffusion =
> 'public']/
>
> Jean-Christophe
>
> Jean-Marie Hoornaert a écrit :
> > Bonjour,
> >
> >
> > J'ai un problème d'XPath sur lequel je me casse les dents.
> >
> > Voici un extrait de l'xml :
> >
> > <repertoire>
> > <personne ID="P0001" diffusion="public">
> > <nom>Dupont</nom>
> > <prenom>Jean</prenom>
> > <mandats>
> > <mandat diffusion="public" type="elu"
> > debut="2004" fin="">Maire</mandat>
> > <mandat diffusion="public" type="elu"
> > debut="1999" fin="2004">Adjoint au Maire</mandat>
> > </mandats>
> > </personne>
> > <personne ID="P0002" diffusion="public">
> > <nom>Durant</nom>
> > <prenom>Martin</prenom>
> > <mandats>
> > <mandat diffusion="public" type="engagement"
> > debut="2004" fin="">Secrétaire de direction</mandat>
> > <mandat diffusion="public" type="elu"
> > debut="1999" fin="2004">Adjoint au Maire</mandat>
> > </mandats>
> > </personne>
> > <personne ID="P0003" diffusion="public">
> > <nom>Sylvestre</nom>
> > <prenom>Cecile</prenom>
> > <mandats>
> > <mandat diffusion="public" type="elu"
> > debut="2004" fin="">Conseillère communale</mandat>
> > <mandat diffusion="public" type="elu"
> > debut="1999" fin="2004">Conseillère communale</mandat>
> > </mandats>
> > </personne>
> > </repertoire>
> >
> > Je voudrais obtenir toutes les personnes dont je peux publier les
> > informations (diffusion = "public") et qui ont un mandat de type
> > "elu" en cours (donc où fin est vide).
> >
> > L'XPath :
> >
> > "//personne[@diffusion='public' and
> > mandats/mandat/@diffusion='public' and
> > mandats/mandat@diffusion='public' and
> > mandats/mandat/@fin='' and
> > mandats/mandat/@type='elu']"
> >
> > Et je tourne cela dans tout les sens, mais à chaque fois "Durant",
> > dont le mandat d'élu a expiré en 2004, fait parti de la liste.
> >
> > Merci de m'aider.
>
>
--
Stéphane Bonhomme -- Exselt Services
Formations, Conseil et Réalisations en Ingénierie Documentaire,
Technologies Web et Logiciels Libres
s.bonhomme@wanadoo.fr - http://www.exselt.com
04 76 17 09 40 / 06 88 57 27 08
--
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 Sat Jul 23 02:08:15 2005