Do I need to use a validating parser?

Tim Bray tbray at
Tue May 4 18:27:59 BST 1999

At 10:54 AM 5/4/99 -0400, Joshua E. Smith wrote:
>First, an easy one: If a language is defined in XML, you would say that
>language is XML-______.  Compliant?  Derived?  ish?  ey?  Compatible?


>I'm trying to choose a parser to use in my plugin.  I see a choice between
>expat, which is non-validating, and will increase my download size by
><100K, and SP which is validating, and will increase my download size by
>about 1MB.  Gak.

James is working on a version of expat which compiles to substantially less,
at the cost of some performance (i.e. it'll still be faster than
anything else, I bet).  I don't think SP is appropriate in the general
case for XML apps.

>I suppose that the validation should really be done a priori by the content
>developer using a validating editor, so doing validation in my plugin is
>really unnecessary.  Is that true?

Depends whether you trust the source.  If you're writing both ends, you're
probably OK (once you've got the system debugged).

>Do commercial validating XML editors exist yet?

Yes.  From Arbortext (Adept) and (shipping any day now) SoftQuad
(XMetaL).  Frame+SGML is, as the name suggests, SGML not XML, but it'll
work OK with XML.

>I also suppose that my DTD is going to be pretty big by the time it's done,
>and downloading it every time someone wants to use my plugin is kind of
>stupid.  Right?  So that's another reason NOT to use a validating parser.

Maybe the best reason.

>But in my reading  [XML Specification Guide: Graham, Quin, 1999], it
>appears that non-validating parsers are allowed to ignore tons of stuff.
>Is there ANY documentation of what expat actually *does*?  (For that
>matter, is there any documentation at all?)  

.h files :)

>I assume it ignores external
>entities, right?  

Wrong.  Mind you, you have to do some extra work to deal with them.


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
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