Parameter entity reference error with expat
Steve Harris writes: > I'm working out a small DTD by inlining it with some sample data. It > uses a single internal parameter entity and refers to the entity twice > in the DTD. Emacs's 'psgml' seems to validate and do all the > substitutions as expected. If I run the file through expat, though, it > reports the following error: > illegal parameter entity reference You've run up against a somewhat obscure constraint from section 2.8 of the XML 1.0 Recommendation: Well-Formedness Constraint: PEs in Internal Subset In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.) Source: http://www.w3.org/TR/1998/REC-xml-19980210#sec-prolog-dtd As a result, the following is legal in an _external_ DTD subset, but not in an internal one: <!ENTITY % my-atts "id ID #REQUIRED role CDATA #IMPLIED"> <!ELEMENT foo (#PCDATA)> <!ATTLIST foo %my-atts;> PSGML doesn't catch this one yet. All the best, David -- David Megginson david@m... http://www.megginson.com/ xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format