Hi Brian,
> I have an XML file with this structure:
>
> <elemA>
> <elemB>
> <elemC></elemC>
> <elemC></elemC>
> etc...
> </elemB>
> <elemB>
> <elemC></elemC>
> <elemC></elemC>
> etc...
> </elemB>
> etc...
> </elemA>
>
> I am writing an XSL file to search it. I want to be able to
> search all of
> the <elemC> nodes for the occurrence of a searchstring - and,
> if an <elemC>
> node matches the searchstring, to output the value of the
> first <elemC> node
> of the <elemB> node that contains the matching <elemC> node.
> I hope that
> makes sense! I haven't been able yet to get the XSL to
> process each of the
> <elemC> nodes of each of the <elemB> nodes systematically.
To rephrase what you want a bit, you want to match/select all the <elemB>
nodes which contain an <elemC> which itself contains the searchstring, and
output the first <elemC> of that element. Try:
<xsl:param name="string" select="'foo'"/>
<xsl:for-each select="elemA/elemB[contains(elemC,$string)]">
<xsl:value-of select="elemC[1]"/>
</xsl:for-each>
Or similar.
Cheers,
Stuart
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- RE:
- Stuart Brown - Mon, 16 Sep 2002 11:49:13 -0400 (EDT) <=
|
|