Subject: Re: [xsl] Node position and numbering. From: Spencer Tickner <spencertickner@xxxxxxxxx> Date: Thu, 5 May 2005 10:43:23 -0700 |
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@xxxxxxxxx> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Node position and numbering., c p | Thread | RE: [xsl] Node position and numberi, Michael Kay |
Re: [xsl] Name Spaces in Selects an, Karl Stubsjoen | Date | Re: [xsl] How do I display data one, JBryant |
Month |