Hi,
I tried your above example with the match="service" followed by
match="step" and got the desired output? Give this a try maybe it'll
help:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="service">
<xsl:apply-templates select="step"/>
</xsl:template>
<xsl:template match="step">
<xsl:value-of select="concat(position(), '. ',
normalize-space(text()))"/><br/>
</xsl:template>
</xsl:stylesheet>
output:
1. Go to File menu
2. Select Print
3. Click Print
Sounds like you've tried this already, I know I've had this problem
before and it has to do with whitespace nodes, either or give it a
shot.
On 5/5/05, c p <bugs75il(_at_)yahoo(_dot_)com> wrote:
Hello all,
I have following XML:
-----------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<service>
<title>Printing the Page</title>
<somenode>node content might go here.</somenode>
<step>Go to File menu</step>
<step>Select Print</step>
<step>Click Print</step>
<somenode>you are all done.</somenode>
</service>
-----------------------------------------
As you can see the XML has a <service> node with a
whole bunch of other child nodes. Out of all the
child nodes, I am interested in getting the position
for <step> nodes only. Its pretty simple but there's
a twist. In the example above if I did
<xsl:apply-templates match="service"/> and then for
each child node I did a position() then it would give
me numbers 2,4,and 5 for the <step> nodes. However
thats not what I want. I want it to give me numbers
1,2,3 for the <step> nodes. The way I can get that is
by doing <xsl:apply-templates match="service/step"/>,
unfortunately due to the complexity of my XSL and XML
structure I cannot do that. Is there a way to achieve
this so I can get an output that will look like this:
---------------------------------------------
1. Go to File menu
2. Select Print
3. Click Print
---------------------------------------------
Note: Its not always guaranteed that the first <step>
node will start after <title> node or any other node.
It could be random.
Any help would be appreciated.
Thx,
C
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.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>
--~--
--~------------------------------------------------------------------
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>
--~--