|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: position of parent
Hi Xavier,
> I've got an XML document with <chapter> elements containing
> <section> elements. I'm currently writing an XSL that
> transforms such XML documents into XHTML. I want my sheet
> to automatically number chapters and sections. For this
> purpose, i use the <xsl:value-of select="position()"/> in my
> template that match the "chapter" element.
>
> Now i'd like to have the section numbered as follow
> "ChapterNumber.SectionNumber"... so the question is how do
> I get the ChapterNumber when i'm processing a section element?
> In other words, I'd like to get the position() of the parent
> of a given node...
This sounds like a perfect opportunity for xsl:number. Try:
<xsl:number level="multiple"
count="chapter | section"
format="1.1" />
If that's not what you're after, then you can always calculate the
position of an element relative to its siblings by counting how many
previous siblings there are and adding one:
count(preceding-sibling::*) + 1
So you could do your numbering with:
concat(count(../preceding-sibling::*) + 1, '.'
count(preceding-sibling::*) + 1)
But I think you'll find xsl:number *a lot* easier.
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








