Elena, you are great! I changed my code as you said and now it works.
Thanks a lot!!! H.-Gerd Rosarius -----Ursprüngliche Nachricht----- Von: Elena Litani [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 28. August 2002 22:05 An: [EMAIL PROTECTED] Betreff: Re: How to implement getElementById() with Xerces using XML Schema? "H.-Gerd Rosarius" wrote: > If I use a DTD to specify my id-attribute and assign it to my > XML file, getElementById() returns an object of type Element. > If I use a XML Schema I get 'null' instead. > I tried Xerces 2.0.1 and 2.0.2 . You need to turn on both validation and schema validation features on, otherwise the getElementById() would not work correctly. I've tried it with the latest CVS version and it works. > 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 > Haeh??? XML Schema defines that each document could have multiple validation roots -- the element at which validation starts. During loading there is no way (currently) so specify validation roots in Xerces, thus Xerces always treats the document root as validation root. However, in the future it is possible to give XPath expression specifying at what elements validation should start. For example: <documentRoot> <validationRoot_1>Some Data</validationRoot_1> <validationRoot_2>Some Data</validationRoot_2> <documentRoot> In this case, ID/IDREF must be unique in the scope of validationRoot_1 or in scope of validationRoot_2, however ID/IDREF table might not be unique for documentRoot. Hope it helps, -- Elena Litani / IBM Toronto --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
