[XSL-LIST Mailing List Archive Home]
[Reply To This Message]
Re: Iterating over values in a table of data
Subject: Re: Iterating over values in a table of data|
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 7 Jun 2006 10:30:11 +0100
On 6/7/06, Neil Crofts <neil.crofts@xxxxxxxxx> wrote:
I'm trying to transform some XML which is supposed to act as an
iterator/repeat statement without much success at the moment. I was
wondering if anyone had some advice about the best way to approach
this sort of problem. For example, my source XML looks a bit like the
<!-- This is a table of lookup values. -->
<!-- This node needs to be repeatedly transformed for each input
data item -->
Item <value-of name="value"/> is in position <position-of
The desired output is of the following format:
<item>Item one is in position 1</item>
<item>Item two is in position 2</item>
<item>Item three is in position 3</item>
The intention is that when a <repeat> node is transformed it will look
up the value of the next item in the data table and output its value
and also its position in the data table. This will need to be repeated
for each data item.
I don't have a restriction on me regarding the version of XSLT I can
use, so an XSLT 2.0 specific would be ok, although I would prefer a
solution that does not use any processor specific extensions.
Has anyone got any advice on or solutions for this class of problem? Thanks.
Here is an XSLT 1.0 solution:
You win todays prize for nasty XML - its looks like the XML designed
with processing in mind, rather than just describing the data, and
this has backfired because its reasonably involved to achieve what you
<xsl:variable name="this" select="."/>
<xsl:variable name="value" select="value"/>
<xsl:variable name="pos" select="position()"/>
<xsl:with-param name="value" select="$value"/>
<xsl:with-param name="pos" select="$pos"/>
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format