Subject: Re: [xsl] testing for position of an element and displaying it accordingly From: ms <mina_hurray@xxxxxxxxx> Date: Fri, 19 Jan 2007 07:29:48 -0800 (PST) |
Hi Alexey: Thanks for your response. I will try to explain this a little bit more. <r1> <a>test</a> <a>test2</a> <b>test test</b> <a>test3</a> </r1> <xsl:template match="r1"> <!-- The mode is applid for any <a> element that appears before the <b> element in the xml--> <xsl:if test child::a> <xsl:apply-templates select="a" mode="test"/> </xsl:if> <ol> <li type="1"> <xls:applly-templates/> </li> </ol> </xsl:template> So, r1 is formatted with number 1. <xsl:template match="a" mode="test"> <xsl:apply-templates mode="test"/> </xsl:template> This template for <a> is basically for <a> that appears above the <b> element. It does not apply to <a> that appears after <b> and so <a> appearing after <b> is not displayed. <xsl:template match="b"> <xsl:apply-templates/> </xsl:template> My final output applying these templates is: Test Test2 1)test test As you can see , since I am not accounting for the <a> after <b> it fails to be displayed. My desired out put is: Test Test2 1)test test test3 How do I check that if there are <a> elements before <b> element inside <r1>, then they should be displayed before the <b> element. And if there are <a> elements after the <b> element, they should be displayed after the <b> element? --- Alexey Nickolaenkov <nikolaenkov@xxxxxxxxxxxx> wrote: > Hi man > m> Please let me know if this is possible? > that's possible. > > if your input looks like above and you want to > produce > > m> Test > m> Test2 > m> 1)test test > m> test3 > > the following rules will suit you > > <xsl:template match="/"> > <xsl:copy> > <xsl:apply-templates select="r1"/> > </xsl:copy> > </xsl:template> > > <xsl:template match="r1"> > <xsl:apply-templates select="node()"/> > </xsl:template> > > <xsl:template match="a"> > <xsl:value-of select="."/> > </xsl:template> > > <xsl:template match="b"> > <xsl:text>1)</xsl:text> > <xsl:value-of select="."/> > </xsl:template> > > > but I dont think that this is what you really want.. > Can you describe > the desired xml output? > > > -- > Alexey > mailto:nikolaenkov@xxxxxxxxxxxx > > ____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] testing for position of a, David Carlisle | Thread | Re: [xsl] testing for position of a, Abel Braaksma |
Re: [xsl] testing for position of a, ms | Date | Re: [xsl] testing for position of a, David Carlisle |
Month |