Working with IDs
IDs and IDREFs are used in XML to uniquely identify elements within a document and to create references to those elements. This is useful, for example, to create footnotes and references to them, or to create hyperlinks to specific sections of XHTML documents.
Typically, an attribute is used as an ID to uniquely represent the element that carries it.[*] The value of that ID attribute must be a valid NCName (an XML name with no colon).
Attributes named xml:id
(in the http://www.w3.org/XML/1998/namespace namespace) are always considered to be IDs. Attributes with other names can also be considered IDs if they are declared to have the built-in type xs:ID
in a schema or DTD.
Example 20-4 shows an XML document that contains some ID attributes, namely the id
attribute of the section
element, and the fnid
attribute of the fn
element. Each section
and fn
element is uniquely identified by an ID value, such as fn1
, preface
, or context
.
The example assumes that this document was validated with a schema that declares these attributes to be of type xs:ID
. The id
attributes are not automatically considered to be IDs because they are not in the appropriate namespace. In fact, the name is irrelevant if it is not xml:id
; an attribute named foo
can have the type xs:ID
, and an attribute named id
can have the type xs:integer
.
Example 20-4. XML document with IDs and IDREFs (book.xml)
<book> <section id="preface">This book introduces XQuery... The examples are downloadable<fnref ref="fn1"/>... ...
Get XQuery 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.