Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

XPath is the XML Path Language which uses a "path like" syntax to browse through elements and attributes in an XML document.
It contains over 200 built-in functions for such as string values, numeric values, booleans, date and time comparison, node manipulation, sequence manipulation, and much more. XPath expressions can also be used in JavaScript, Java, XML Schema, PHP, Python, C and C++, and lots of other languages. 

In XPath, there are seven kinds of nodes: element, attribute, text, namespace, processing-instruction, comment, and document nodes.
XML documents are treated as trees of nodes. The topmost element of the tree is called the root element.

Selecting Nodes

XPath uses path expressions to select nodes in an XML document. The most useful path expressions are listed below:

...

.

...

...

<bookstore>
  <book>
    <title lang="en">A Clockwork Orange</title>
    <author>Anthony Burgess</author>
    <year>1962</year>
    <price>19.99</price>
  </book>
  <book>
    <title lang="en">Nineteen Eighty-Four</title>
    <author>George Orwell</author>
    <year>1949</year>
    <price>14.99</price>
  </book>
</bookstore>

Here are some path expressions and the result of the expressions:

...

Note: If the path starts with a slash ( / ) it always represents an absolute path to an element!

...

Predicates are used to find a specific node or a node that contains a specific value. Predicates are always embedded in square brackets.

In the table below we have listed some path expressions with predicates and the result of the expressions:

...

Note: In IE 5,6,7,8,9 first node is[0], but according to W3C, it is [1]. To solve this problem in IE, set the SelectionLanguage to XPath:

...

Selecting Unknown Nodes

XPath wildcards can be used to select unknown XML nodes.

...

Selecting Several Paths

By using the | operator in an XPath expression you can select several paths.

In the table below we have listed some path expressions and the result of the expressions:

...

XPath Axes

An axis defines a node-set relative to the current node.

...

XPath Operators

Below is a list of the operators that can be used in XPath expressions:

...

For further information on XPath click here

XQuery


The XQuery Update Facility is a relatively small extension of the XQuery language which provides convenient means of modifying XML documents or data. As of March 14, 2008, the XQuery Update Facility specification has become a "Candidate Recommendation", which means it is now pretty stable.

...