This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Putting parameter into XPATH expression
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: Re: [xsl] Putting parameter into XPATH expression
- From: "Thomas B. Passin" <tpassin at mitretek dot org>
- Date: Fri, 22 Jun 2001 16:23:25 -0400
- References: <DD3244BDF5B4D411BB9D0060948A3B630162BCCB@IGMAIL4>
- Reply-To: xsl-list at lists dot mulberrytech dot com
You are making it too hard. This does what you said you want:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='text'/>
<xsl:template match="/a">
<xsl:apply-templates select='b/c'/>
</xsl:template>
</xsl:stylesheet>
Let the processor do the work, keep things simple. This code picks out the
b/c nodes one after another and then the built-in default template outputs
their text content.
(Of course, you could make this into html instead of text if you want.)
Cheers,
Tom P
[MacEwan, James (Information Services)]
> In the code extract below, I always get the result "OneOneOne" instead of
> "OneTwoThree" which I am expecting.
>
> I found a work around (based on my previous experience writing compilers)
> that gets XSL processor to do what I want: "<xsl:value-of
> select="a/b[$Position + 0 ]/c"/>"
>
> Can someone tell me a better (more correct) way to do this?
>
> XML ------------------
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <a>
> <b> <c>One</c> </b>
> <b> <c>Two</c> </b>
> <b> <c>Three</c> </b>
> </a>
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list