[
Lists Home |
Date Index |
Thread Index
]
XSLT questions are usually best asked on the xsl-list at mulberrytech.com
This is an interesting one. I think this can be done with xsl:number, though
I've never seen it done.
<xsl:template match="PageId">
<xsl:variable name="c" select="."/>
<xsl:number level="any" match="PageId[. = $c]" format="01"/>
should do the trick, as far as I can see. In XSLT 2.0 you could use
current() instead of the variable, but I don't think current() inside a
pattern is allowed in 1.0. Variables in patterns are allowed in 1.0 except
in the match pattern of xsl:template.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Culler, Jeff S. [mailto:JCuller@charlotteobserver.com]
> Sent: 24 May 2006 00:07
> To: 'xml-dev@lists.xml.org'
> Subject: [xml-dev] <xsl:number> question
>
>
> Would anyone care to point in me in the right direction in
> solving a numbering problem?
>
> Here is the xml
> <Product>
> <page>
> <PageId>Business</PageId>
> </page>
> <page>
> <PageId>Business</PageId>
> </page>
> <page>
> <PageId>Sports</PageId>
> </page>
> <page>
> <PageId>Sports</PageId>
> </page>
> <page>
> <PageId>Business</PageId>
> </page>
> <page>
> <PageId>Business</PageId>
> </page>
> </Product>
>
> I am trying to get text output like this
>
> Business-01
> Business-02
> Sports-01
> Sports-02
> Business-04
> Business-05
>
> Using the "<xsl:text>-</xsl:text><xsl:number format="01"
> />" after each
> "<PageId>" tag numbers gets the correct format,
> however, "Sports" is numbered 03 and 04, with the last two
> "Business"
> numbered with 05 and 06.
> I am working on a way to breaking the number count when a
> new text value is encountered in the "PageId" tag.
> and resuming the number if the text is again resumed.
>
> Can the attributes associated with <xsl:number> do the
> trick, or will I need to start looking at using other xsl tag logic ?
>
> thanks for any help that can be provided
>
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org
> <http://www.xml.org>, an initiative of OASIS
> <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
>
|