Re: [Xpath] Deux contextes à la fois ?
Tiscar Sebastien <[email protected]>
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <00bd01c630be$544e1280$a7021cac@ODIN11> |
Bonjour,je ne connais pas Shematron mais au niveau XPATH <xsl:if test="/zone/contact[handle=current()/holder]"/> devrait suffir ----- Original Message ----- From: "Stephane Bortzmeyer" <[email protected]> To: <[email protected]> Sent: Monday, February 13, 2006 3:51 PM Subject: [xml-tech] [Xpath] Deux contextes à la fois ? Je cherche à faire une expression Xpath (c'est pour Schematron) qui vérifie si un élément a la même valeur qu'un autre élément. En XSLT, ça donne : <xsl:template match="domain"> <!-- Y a t-il un <contact> dont le <handle> soit identique à mon <holder> ? --> <xsl:if test="/zone/contact[handle=holder]"/> Mon problème est que je voudrais que "handle" soit évalué dans le contexte du <contact> et "holder" dans celui du <domain>. À lire la norme Xpath, je pense que je suis mal parti, tout est évalué dans le contexte du noeud courant, ici <contact>. En XSLT, la solution serait : <xsl:variable name="holder"><axsl:value-of select="holder"/></xsl:variable> <xsl:if test="/zone/contact[handle=$holder]"/> mais cela ne marche pas pour Schematron où l'expression Xpath doit être auto-suffisante (pas de variable). Une idée ? -- Devenez redacteur <XML>fr et contribuez au developpement du xml francophone (http://xmlfr.org/infos/redacteurs/) ! Liste de diffusion "[email protected]" (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 [email protected] (mailto:[email protected]?Subject=unsubscribe)