This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
position() problem with // axis + parent numbering problem
- To: xsl-list at mulberrytech dot com
- Subject: position() problem with // axis + parent numbering problem
- From: Warren Hedley <w dot hedley at auckland dot ac dot nz>
- Date: Tue, 18 Apr 2000 12:31:43 +1200
- Organization: Department of Engineering Science, The University of Auckland
- Reply-To: xsl-list at mulberrytech dot com
Hi - two questions.
One
---
The position() function isn't returning what I was expecting when combined
with the // axis, and I haven't been able to find what I'm after in the
spec - can someone point out why this isn't working?
I expected the following to produce mutually exclusive sets whose union
includes all <text> nodes in the input document.
<xsl:apply-templates select="//text[1]" />
<xsl:apply-templates select="//text[not(position() = 1)]" />
It appears this is not the case - I've tested this in Saxon and Xalan, so
I'm confident the implementors have it right - I just don't know why.
"[position() = 1]" returns all nodes that are the first children of their
parents, while [1] returns the first node in the context list. I thought
that [1] was the abbreviation for the other. Can someone tell me where
it says otherwise?
How should I put the predicate in the second expression to be the opoosite
of that in the first - ie, all nodes other than the first in the context
list
Two
---
I was trying to get the number of the parent node of the current node taken
across the entire document, and I can't see an easy way to do it. The parent
may not be the real parent, but may be several steps up the tree, although I
do know the element is of type <grouping_element>. The following seems to
work, but is there any way to condense this into a single <xsl:number> element?
<xsl:variable name="parent_number">
<xsl:for-each select="ancestor::grouping_element[1]">
<xsl:number count="grouping_element" level="any" />
</xsl:for-each>
</xsl:variable>
Thanks in advance.
--
Warren Hedley
Department of Engineering Science
Auckland University
New Zealand
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list