Determining the Position Number of a Node

The position() function returns an integer that indicates the position of the node within the parent. Positions start with 1; a node with a position of 1 is always the first node in the collection.

For example, the following query returns the first three degree elements in the document:

(//degree)[position() < 4] 
               

            

The next query finds the first two book children in the current context:

book[position() <= 2] 
               

            

The XPath processor executes the position() function with respect to the parent node. Consider the following data:

<x>
               

              
<y/>
                   
<y/>
                   

                
</x> <x>
<y/>
                   
<y/>
                   

                
</x>

The following expression returns the first y element contained in each x element:

x/y[position() = 1] 
               

            

For more information, see also Finding an Element with a Particular ID.

XQuery Talk

Join the XQuery Talk mailing list for a practical discussion about XQuery. It's a place to work together to learn a new language, talk about problem solutions, discuss engines and implementations, chat about the latest XQuery news and more.

An Introduction To XML Schema Development

An Introduction to XML schema development in Stylus Studio covers some of the highlights of our XML Schema Editor, powerful tools for editing, validating, converting and generating XML schema. Watch the video online today!

XPath Introduction - Using XPath Queries to Extract Data from XML Documents

The XPath introduction covers how to use XPath code completion, XPath syntax highlighting, support for XPath 2.0 functions and XML namespaces to simplify your next XPath application.

Generate XSD

Stylus Studio® can generate an industry standard W3C XSD (or DTD) by correctly inferring an XML data model from an XML instance document.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member