Re: [xml-dev] Use xsd to specify multiple instances of existing element

From
Andrew Welch <>
To
Michael Kay <>
Date
2008-09-23T09:30:14Z
ID
<>
Thread
Re: [xml-dev] Use xsd to specify multiple instances of existing element
> A call to position() is allowed, but always returns 1. This is because
> position() returns the value of context position in the dynamic context,
> which is defined in XSD 1.1 section 3.13.4.2 to take the value 1.
>
> I'm afraid it's a common misunderstanding that position() is somehow related
> to the number of preceding siblings that a node has.

:)

count(.|preceding-sibling::*)

instead then...?

The common misunderstanding likely comes from the default processing
inbuilt into XSLT, where position() will return a child's position
amongst its siblings.

It could maybe be split into 3 functions:

position() - the position of the node amongst the selected nodes to
process, as it is now

sibling-position() - the position of the node amongst its siblings

document-position() - the position of the node within the document

That would prevent any confusion...


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/