Validating IDREFS...

James Clark jjc at
Sat Aug 29 09:09:52 BST 1998

Tyler Baker wrote:

> Does this mean that you need to have the entire document parsed before
> you can make the check that the value of the ID matches the ID of some
> element in the document?

> If this is true, then for validating parser implementations you will
> first need to build an in memory parse tree using a non-validating
> parser and then validate the document by recursively traversing the
> parse tree.  For large documents that wish to be validated, this seems
> like a major performance and memory problem, especially in memory hungry
> languages like Java.

You need to maintain a hash table of IDs in order to enforce the ID VC
(uniqueness of IDs).  To check matching of IDs you just add a boolean
that says whether the ID has been defined yet.  At the end of the
document, iterate over the hash table and give an error for each
undefined ID.


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list