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.