This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Equivalent of a Global Counter



so, something like

  <xsl:variable name="x">
    <xsl:number level="any" count="xxxx"/>
  <xsl:variable>
  <prov id="...{$x}">
    <xsl:apply-templates/>
  </prov>

where the count expression selects whatever it is that is being counted
by the id scheme it selects in the input tree but the output is usually 
expressable as a function of the input.

If you'd really rather count on the output then it would be simpler to
do it in two passes.

First save the output into a variable in which you have the desired
output except for id="?" then use a node-set extension function 
to apply an identity transform together with the extra rule

<xsl:template match="*[@id='?@']">
  <xsl:copy>
  <xsl:copy-of select="@*"/>
  <xsl:attribute name="id">
   ....<xsl:number level="any" count="*[@id="'?']"/>
  </xsl:attribute>
  <xsl:apply-templates/>
 </xsl:template>


David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]