Subject: Re: [xsl] Axis specifers From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 16 Jan 2007 16:17:57 GMT |
This is the reason for the statement " <xsl:if test="child::note"> <xsl:apply-templates select="note" mode="list"/> </xsl:if>" Michael's point was that teh xsl:if there is doing nothing, those lines are equivalent to <xsl:apply-templates select="note" mode="list"/> as in both cases, if there is a note, templates are applied, and if there is not a note, templates are not applied. Your example <list> <note><para>This is the first note.</para></note> <note><para>This is the second note. </para></note> <text><para>This is some text. </para></text> <note><para>This note is after the text. </para></note> </list> So, only if the <note> element appeared before the text, it will have to be displayed before the text element like this: NOTE: This is the first note. NOTE: This is the second note. 1. This is some text. doesn't seem to involve any rearrangement at all and just needs something like <xsl:template match="list"> <block> <xsl:apply-templates/> </block> </xsl:template> <xsl:template match="note"> <block>NOTE: <xsl:apply-templates/> </block> </xsl:template> <xsl:template match="text"> <block><xsl:number/>. <xsl:apply-templates/> </block> </xsl:template> you say .> If a 'note' element appeared immediately after the list element, but your example input didn't have a note after the list element, and your posted code only appeared to be looking at child elements of list, not following siblings. David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Axis specifers, xslt . new | Thread | Re: [xsl] Axis specifers, xslt . new |
Re: [xsl] Axis specifers, xslt . new | Date | [xsl] applying code from inside the, Alexey Nickolaenkov |
Month |