7.4.4
XPath expressions
In cases where the data model of the service that implements this International Standard is represented as XML, as is the case with ISO 19142 where GML (see ISO 19136) is used, value references can refer to parts of a complex property and shall be encoded using the XML Path Language (given in W3C XML Path Language).
The XML Path Language (as given in W3C XML Path Language) specification is a language for addressing parts of an XML document, or in the case of this International Standard, for referencing XML elements and attributes that represent the properties of an object encoded in XML.
This International Standard does not require that a filter expression processor support the full XPath language. In order to keep the implementation entry cost as low as possible, services that implement this specification and require the use of XPath, shall support a subset of the XPath language. The following set of rules defines this subset of the XPath language.
a)
The abbreviated form of the child and attribute axis specifier (see W3C XML Path Language) shall be supported.
b)
The context node shall be the resource element, except in the case of a join operation, in which case the context node shall be the parent of the resource element.
c)
Each step in the path may include an XPath predicate.
d)
At least the following predicate expression items shall be supported:
1)
a positive non-zero integer may be used to indicate which child of the context node should be selected (i.e. an index). This allows ordered properties with repeatable values to be specifically referenced;
2)
an equality predicate for the form “=value” may be used to indicate which child of the context node should be selected based on its value. This allows properties with repeatable value to be specifically referenced by value;