An approach I have used successfully with this kind of problem is to use a
two-phase transformation in which phase 1 converts your input document to a
stylesheet, and phase 2 executes the stylesheet.
It's not the only approach - an interpretive approach also works - but it
may be the cleanest.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Neil Crofts [mailto:neil(_dot_)crofts(_at_)gmail(_dot_)com]
Sent: 07 June 2006 10:11
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Iterating over values in a table of data
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
following:
<input>
<!-- This is a table of lookup values. -->
<data>
<item>
<value>one</value>
</item>
<item>
<value>two</value>
</item>
<item>
<value>three</value>
</item>
</data>
<!-- This node needs to be repeatedly transformed for
each input data item -->
<repeat>
Item <value-of name="value"/> is in position
<position-of name="value"/>
</repeat>
</input>
The desired output is of the following format:
<output>
<item>Item one is in position 1</item>
<item>Item two is in position 2</item>
<item>Item three is in position 3</item> </output>
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.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--