According to the Xerces Java API (Release 2.0.1)it should be possible to search an entire DOM-Document for an Element with a specific ID using getElementById( String elementId ).
The documentation states that I have to tell the DOM-Implementation what the name of the id-attribute is. Either by use of a DTD or a XML Schema.
If I use a DTD to specify my id-attribute and assign it to my XML file, getElementByID("123") returns an object of type Element. So far, so good... If I use a XML Schema I get 'null' instead of the expected Element.
The FAQ-Page of the Apache-Group says about Xerces:
"According to the XML Schema specification, an instance document might have more than one validation root and ID/IDREFS must be unique only within the context of a particular validation root, meaning that a document may potentially contain multiple identical ids. In this case, the output of getElementById() is unspecified. On the other hand, if the document root is a validation root of the document, getElementById() should work as expected." http://xml.apache.org/xerces2-j/faq-general.html#faq-5
How do I have to change my XML-Schema to get an Element instead of 'null' by use of getElementById()?
Here is the XML- and Schema-code which I tried. Any help is welcome!
The XML file:
The XML Schema:
[ August 27, 2002: Message edited by: Gerd Rosarius ]