Validating IDREFS...

Tyler Baker tyler at
Sun Aug 30 03:18:35 BST 1998

James Clark wrote:

> 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?
> Yes.
> > 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.
> James

This I know is one idea to get around this problem and this is basically my
current implementation as well, but shouldn't a validating XML parser flag an
error if an IDREF does not have a corresponding ID when the error occurs.  In
other words, I would think that deferring errors before the content is passed to
the document would be illegal.

Basically, I just need to know if it is OK to pass errors to the application
after all of the content has already been parsed and passed to the application.



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