Name

id( ) — returns a single node matching a document-unique ID

Synopsis

Defined in: XPath 1.0
Parameters: object obj (required)
Return type: node-set

Normally, this function is used to return the single node with an ID that matches the string value passed in as a parameter. When a space-separated list or a node-set is passed in, it will return the union of all nodes that individually match the IDs. This function normally appears on the left-hand side of a path expression.

Note

Determining what is a ‘unique’ ID is harder than it looks.

The XPath 1.0 Recommendation states that “If a document does not have a DTD, then no element in the document will have a unique ID.” In XForms, a DTD will never be associated with instance data. An XML Schema, however, has a datatype called xs:ID, which can be associated with an instance data node to provide an indication that the node contains a unique id. Thus, it is still possible for the id( ) function to be useful in XForms, though it takes a little extra work.

This example selects the element with the unique ID “taxtable” (if any) and returns a node-set of all the rate element children:

id("taxtable")/rate

Get XForms Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.