Validating IDREFS...

James Clark jjc at jclark.com
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?

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


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




More information about the Xml-dev mailing list