Re: [xsl] When first Node add a style in XSL

Subject: Re: [xsl] When first Node add a style in XSL
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 16 May 2008 15:37:58 +0100
> Too bad I had to create another template but I understand. 

it's not necessary (but is often the most flexible way.

<xsl:template match="foo">
  <h3>
   <xsl:if test="position()=1">
      <xsl:atribute name="class">some vale for 1st</xsl:attribute>
   </xsl:if>
  <xsl:value-of seelct="whatever"


would also work, but if using position() like this, best to always use
an explict select on the apply-templates, as Michael showed, otherwise
position might not mean what you think it means 9in particular
position()=1 might be the indentation space before the first element.

A perhasp safer alternative, which wueries the position in the source
rather than the particular node set being operated on would be

<xsl:template match="foo">
  <h3>
   <xsl:if test="not(preceding-sibling::foo)">
      <xsl:atribute name="class">some vale for 1st</xsl:attribute>

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread