Jump to content

XPath

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Edinwiki (talk | contribs) at 21:22, 7 March 2012 (added Category:Query languages using HotCat). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

XPath
ParadigmQuery language
DeveloperW3C
First appeared1999
Stable release
2.0 / 2007-01-23
Major implementations
C#, Java, JavaScript
Influenced by
XSLT, XPointer
Influenced
XML Schema, XForms

XPath, the XML Path Language, is a query language for selecting nodes from an XML document. In addition, XPath may be used to compute values (e.g., strings, numbers, or Boolean values) from the content of an XML document. XPath was defined by the World Wide Web Consortium (W3C) [1].

History

The XPath language is based on a tree representation of the XML document, and provides the ability to navigate around the tree, selecting nodes by a variety of criteria.[2] In popular use (though not in the official specification), an XPath expression is often referred to simply as an XPath.

Originally motivated by a desire to provide a common syntax and behavior model between XPointer and XSLT, subsets of the XPath query language are used in other W3C specifications such as XML Schema, XForms and the Internationalization Tag Set (ITS).

XPath has been adopted by a number of XML processing libraries and tools, many of which also offer CSS Selectors, another W3C standard, as a simpler alternative to XPath.

Versions

Two versions of XPath are currently in use.

  • XPath 2.0 is the current version of the language; it became a Recommendation on 23 January 2007. A number of implementations exist but are not as widely used as XPath 1.0. The XPath 2.0 language specification is much larger than XPath 1.0 and changes some of the fundamental concepts of the language such as the type system.

The most notable change is that XPath 2.0 has a much richer type system.[3] Every value is now a sequence (a single atomic value or node is regarded as a sequence of length one). XPath 1.0 node-sets are replaced by node sequences, which may be in any order.

To support richer type sets, XPath 2.0 offers a greatly expanded set of functions and operators.

XPath 2.0 is in fact a subset of XQuery 1.0. They share the same query data model (XDM). It offers a for expression which is a cut-down version of the "FLWOR" expressions in XQuery. It is possible to describe the language by listing the parts of XQuery that it leaves out: the main examples are the query prolog, element and attribute constructors, the remainder of the "FLWOR" syntax, and the typeswitch expression.

References

  1. ^ "XML and Semantic Web W3C Standards Timeline" (PDF). 2012-02-04.
  2. ^ Bergeron, Randy (October 31, 2000). "XPath—Retrieving Nodes from an XML Document". SQL Server Magazine. {{cite web}}: Italic or bold markup not allowed in: |publisher= (help)
  3. ^ XPath 2.0 supports atomic types, defined as built-in types in XML Schema, and may also import user-defined types from a schema.

External links