OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] <xsl:number> question

[ 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>
> 





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS