xsl-list
[Top] [All Lists]

RE: [xsl] Iterating over values in a table of data

2006-06-07 02:28:35
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>
--~--