This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: A Counter Variable in XSLT?
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] A Counter Variable in XSLT?
- From: David Carlisle <davidc at nag dot co dot uk>
- Date: Sun, 7 Oct 2001 15:35:12 +0100
- References: <000101c14dcc$3e17d160$5f0f7097@sm00d0b75c7d7e.llu.edu>
- Reply-To: xsl-list at lists dot mulberrytech dot com
What I want to do:
My stylesheet consists of one template rule. When there is a
match, I want a line in the output to say, for example, "Match #
123:", followed by relevant text. Since I don't know ahead of
time how many matches there will be in the source document,
somehow the stylesheet needs to keep a count. Something like:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
<xsl:output method="text"/>
<xsl:template match="/*">
<xsl:if test="@col">
Match # n : <!-- n is the nth match, the thing that needs to
be incremented -->
Collection: "<xsl:value-of select="@col"/>"
Content: <xsl:value-of select="."/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
how can n ever be anything other than 1 in this example.
you are matching on /* and there is always exactly one
element which is a child of the root of a well formed XML document.
So it seems like n is 1 if that element has a col attribute and 0
otherwise, or your example was not representative of what you intended.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list