|
Subject: Re: [xsl] position of parent From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Mon, 26 Feb 2001 11:45:20 +0000 |
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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] position of parent, Xavier Defrang | Thread | [xsl] Re: [exsl] Re: Draft 0.1 - ca, Dimitre Novatchev |
| [xsl] Re: [exsl] Re: Draft 0.1 - ca, Jeni Tennison | Date | [xsl] Re: [exsl] Re: Draft 0.1 - ca, Dimitre Novatchev |
| Month |