XPath Syntax Quick Reference

This topic provides a quick reference for XPath expression syntax.

Axes

XPath provides the following axes:

  • ancestor
  • ancestor-or-self
  • attribute
  • child
  • descendant
  • descendant-or-self
  • following
  • following-sibling
  • namespace
  • parent
  • preceding
  • preceding-sibling
  • self

Node Tests

XPath provides the following node tests:

  • * selects all nodes of the specified name. For the attribute axis, attributes are selected. For the namespace axis, namespace nodes are selected. For all other axes, element nodes are selected.
  • comment() selects all comment nodes.
  • element_name selects all element_name nodes.
  • node() selects all nodes.
  • processing-instruction(["some_literal "]) selects all processing instructions. If some_literal is specified, processing-instruction() selects all processing instructions with some_literal as their name.
  • text() selects all text nodes.

Filters

A filter specifies a constraint on a node set with respect to an axis to produce a new node set.

Location Steps

A location step has the following format:

AxisSpecifier
              ::NodeTest
              [Filter
              ][Filter
              ]...
               

            

XPath Expression

An XPath expression has one of the following formats:

LocationStep[/LocationStep]...
               
FunctionCall()[Filter]/LocationStep[/LocationStep]...
               
(Expression)[Filter]/LocationStep[/LocationStep]...
               

            

A function call or an XPath expression in parentheses can appear only at the very beginning of an XPath expression. An expression in parentheses always returns a node set. Any function that appears at the beginning of an XPath location step expression must return a node set.

DTD vs. Schema

Stylus Studio provides tools for working with both W3C XML Schema and DTD's - this tutorial explains what the differences are between the two, providing a technical comparison of DTD vs Schema.

XML Schema-Aware Queries and Stylesheets

Learn how to simplify XSLT and XQuery applications using Schema Aware XSLT and XQuery processing technologies.

XQuery Mapper

Stylus Studio has the industry's only XQuery mapper, enabling you to develop sophisticated XML mappings consisting of queries and data transformation in an intuitive, visual manner.

Validate XML Using XSD

You can validate XML documents against any data model defined using W3C XSD, using any major XSD Validator, including MSXML 3.0, MSXML 4.0, MSXML 6.0, Xerces-J, Xerces-C, Microsoft System.XML (1.0 and 2.0), XSV, the Saxonica XSD Validator and others.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member