[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: questions regarding the use of position()

Subject: Re: questions regarding the use of position()
From: "Joerg Heinicke" <joerg.heinicke@xxxxxx>
Date: Thu, 31 Jan 2002 22:04:44 +0100
Re:  questions regarding the use of position()
> there are two questions;
> firstly, is there a way to refer back to the main position when you are
> looking at its child element? e.g.
>
> <xsl:template match="body1">
> the position of main is <xsl:value-of select="position()"/>
> </xsl:template>
> this approach will only give the position of the body1, but is there are
> ways to display the position of main when you are in the body1 template?

No, because position() is context-dependent. I.e. using
<xsl:apply-templates/> in the template matching Main, position() in template
matching body1 returns 2 (because of 1st node <head>). Or even 4, because
of empty text nodes in front of <head> and <body1>. But writing
<xsl:apply-templates select="body1"/> and your position() will return 1.

But you can count the preceding-sibling nodes of your parent:

<xsl:value-of select="count(../preceding-sibling::Main) + 1"/>

> secondly, is there are ways of creating an id for the body1 element? (how
> about the use of xsl:id? not so sure about this)

I don't know of any xsl:id. But there is the way using generate-id():

<xsl:value-of select="generate-id()"/>

You can specify a XPath-expression as argument for generate-id(), no
argument means current node.

Hope this helps,

Joerg


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.