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" <stephane@xxxxxxxxxxx>
To: <xml-tech@xxxxxxxxx>
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 "xml-tech@xxxxxxxxx" (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@xxxxxxxxx
(mailto:xml-tech-request@xxxxxxxxx?Subject=unsubscribe)
|
|