This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: iterating over unstructured data
- From: "Andrew Welch" <andrew at thebristoldirectory dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 4 Feb 2002 13:11:57 -0000
- Subject: RE: [xsl] iterating over unstructured data
- Reply-to: xsl-list at lists dot mulberrytech dot com
Thanks Mike, I was looking for the non for-each solution. Performance
wise - which is best?
cheers
andrew
===
[ps. <xsl:template match="bar"/> needed to include <xsl:value-of
select="."/> to output the text for anyone else using this]
-----Original Message-----
From: owner-xsl-list@lists.mulberrytech.com
[mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Michael Kay
Sent: Monday, February 04, 2002 12:30 PM
To: xsl-list@lists.mulberrytech.com
Subject: RE: [xsl] iterating over unstructured data
>
> This may be a faq, but my searches have so far been unproductive.
>
> For the data:
>
> <root>
> <foo>1</foo>
> <bar>2</bar>
> <foo>3</foo>
> <bar>4</bar>
> <foo>5</foo>
> <bar>6</bar>
> <foo>7</foo>
> <bar>8</bar>
> <foo>9</foo>
> <bar>10</bar>
> </root>
>
> I want to output the following format (foo followed by bar on
> each line):
>
> 1 2
> 3 4
> 5 6
> 7 8
> 9 10
>
> What is the best way of going about this?
>
<xsl:template match="foo">
<tr>
<td><xsl:value-of select="."/></td>
<td><xsl:value-of select="following-sibling::bar[1]"/></td>
</tr>
</xsl:template>
<xsl:template match="bar"/>
<xsl:template match="root">
<table>
<xsl:apply-templates select="foo"/>
</table>
</xsl:template>
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list