Re: [xsl] testing for position of an element and displaying it accordingly

Subject: Re: [xsl] testing for position of an element and displaying it accordingly
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 23 Jan 2007 23:12:38 GMT
I think you may need to read again the list guidelines for posting
questions in forms that give people a chance to help. I think most pf us
assumed that you wanted to number the <test> elements (since that is
where you put the 1).

I think your requirements are that yu want to process the children of
r* and put the number * at the start of teh first element that isn't an
a.

If so you don't need a template for r1...r10, just something like

<xsl:template match="a" priority="2">
  <fo:block><xsl:apply-templates/></fo:block>
</xsl:template>

<xsl:template match="*">
  <fo:block>
  <xsl:if test="starts-with(name(..),'r') and
  not(preceding-sibling::*[not(self::a)]">
    <xsl:value-of select="substring-after(name(..),'r')"/>:
  </xsl:if>
  <xsl:apply-templates/>
  </fo:block>
</xsl:template>

David

Current Thread