Validating XML constraints with psgml (was: Parameter entity ...)

Toby Speight tms at
Wed Jul 15 11:41:16 BST 1998

David> David Megginson <URL:mailto:david at>

=> In article <199807150110.VAA00655 at>, David
=> wrote:

David> You've run up against a somewhat obscure constraint from section
David> 2.8 of the XML 1.0 Recommendation:
David>   Well-Formedness Constraint: PEs in Internal Subset
David>   In the internal DTD subset, parameter-entity references can
David>   occur only where markup declarations can occur, not within
David>   markup declarations. (This does not apply to references that
David>   occur in external parameter entities or to the external
David>   subset.)
David>   Source:
David>   <>
David> PSGML doesn't catch this one yet.

It's true that psgml itself doesn't catch this; however, it does
provide a means of calling an external parser (C-c C-v).  You can set
this parser using the variable sgml-validate-command - in my case, I
use "nsgmls -s %s %s" (the default) for SGML files, and for XML files
I use "nsgmls -wxml -s %s %s".

You could also use this variable to do application-level validation.
For example, you might want to check that the target of an IDREF
attribute is of a particular type.  You could do that using a DSSSL
processor with a style sheet that checks for errors.  (Although I've
given up trying to write a stylesheet that works with the -wxml flag;
instead I validate the XML restrictions seperately.)


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