Finding the First Node That Meets a Condition

Suppose you want to obtain from a collection the first node that meets a certain condition. For example, you want the first book whose author's last name is Bob. You can specify the following query:

(//book[author/last-name="Bob"])[position()=1]
               

            

When the XPath processor evaluates this expression, it creates a collection of book elements where the author's last name is Bob. The XPath processor then returns the first node in this collection.

The following two expressions appear to also return the first book whose author's last name is Bob, but they do not. Instead, these queries both return a book whose author's last name is Bob only if that book is the first book in the document.

//book[author/first-name="Bob"][position()=1]
               
//book[author/first-name="Bob" and position() = 1]
               

            

Stylus Studio Enables Multi-Channel Publishing for University of Pittsburg Professor

Learn how Dr. David Birnbaum of the University of Pittsburgh uses Stylus Studio to develop customized XSLT stylesheets that produce enhanced versions of source documents in different output formats, including Web and print.

Learn Convert to XML

Convert to XML lets you convert .txt, binary, and EDI files to XML documents. Convert to XML works on a single document, or to build reusable converters that let you open flat files as XML documents. Free online demonstration!

Banks That Bank on Stylus Studio for Enhanced XML Productivity

Guess what! You can pass go and collect 200 dollars because with Stylus Studio 2006 you can save your banking company time and labor in every day work activities. Come see which banking companies are already taking advantage of Stylus Studio today!

XPath Editor

Stylus Studio's intelligent code-sensing, auto-completion technology, Sense:X, is XPath-aware. You'll find Sense:X for XPath in all of Stylus Studio's editors, including the XML Editor, XSLT Editor, and XQuery Editor.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member