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

Re: position()

Subject: Re: position()
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 3 Apr 2001 09:28:04 +0100
Re:  position()
   <rant>
   Yes, so it should. The decision to make it behave otherwise was
   IMHO entirely bogus, I'm afraid. Especially in view of the fact 
   that SGML processing languages all implement their positional
   function wrt the referenced element type in its location within
   its parent, as one would expect. But it's not something that will
   ever change.


I think the rant is misplaced. position() seems perfectly natural to me.
what you are asking for sounds more like xsl:number. In any language
that has a list concept having access to the length of the list (last())
and position in the list seems quite common. That is what position() does.

You say position() should have been defined to give the sibling element
position. So in

<xsl:for-each select="section/title">
 section <xsl:value-of select="position()"> <xsl:value-of select="."> 
</xsl:for-each>

You think that it would be more natural for every section to be
labeled "1" as every title (in a document you'll just have to imagine)
is the first child of its parent?


   Until someone can produce a function that behaves in a normal
   manner (ie as above), it needs to be remembered (and FAQ'd?)
   that position() means node-position(), not element-position().

That function is count(preceding-sibing::*)+1

   I'm a little surprised that the newlines between TAGC and STAGO
   are not counted as text nodes :-)
   </rant>

As I mentioned before, they are.

   ///Peter

David


_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp

 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.