[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Re: Defining a Variable that depends on an unknown number of conditions


Subject: RE: [xsl] Re: Defining a Variable that depends on an unknown number of conditions
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 1 Jan 2009 17:20:10 -0000

> OK.  I'm trying to determine if element_x or element_y 
> contain the value value_m or value_n.
> I believe I'm close, but can't figure out what to replace 
> ____________ with.
> I tried current()/../@on and ./../@on but no luck.
> 
> Thanks.  Below is a quick mock-up of files.
> 
> I have xml_a.xml as so:
> <xml_a>
>   <depends>
>     <depend on="element_x" equals="value_m|value_n"/>
>     <depend on="element_y" equals="value_m|value_n"/>
>   </depends>
> </xml_a>
> 
> and xml_b.xml:
> <xml_b>
>   <element_x>value_m</element_x>
>   <element_y>value_p</element_y>
> </xml_b>
> 
> finally transform.xsl, that opens xml_b.xml and transforms xml_a.xml.
> <xsl:variable name="xml_b" select="document('xml_b.xml')/xml_b"/>
> <xml:template select="xml_a">
>   <xsl:variable name="my_test" select =
> "depends/depend/@equals[contains(.,$xml_b/*[name()=__________])]"/>
> </xml:template>

I don't think you can do this join in a single XPath 1.0 expression. It
either needs XPath 2.0, or some kind of xsl:for-each logic if you really
must do it in XSLT 1.0.

Michael Kay
http://www.saxonica.com/


Current Thread
Keywords