Re: Nested DTDs
James Tauber wrote: > What you *can* do, or rather what the designer of the report DTD can do, is > write report.dtd as: > > <!ELEMENT report (title,paragraph+)> > <!ELEMENT title (#PCDATA)> > <!ENTITY % paragraph.ext ""> > <!ELEMENT paragraph (#PCDATA| %para.ext; emph)*> > <!ELEMENT emph (#PCDATA)> Just for the record, this isn't entirely okay. You're violating a few "for interoperability" constraints. First off, the empty parameter entity replacement text is no good in a content model. Secondly, even if you replace it with something like <!ENTITY % paragraph.ext "stuff |">, that's not strictly okay either, unless you are tricky and cut and paste tokens by defining them all inside an internal parameter entity. This ugly mess will actually pass muster: <!ELEMENT report (title,paragraph+)> <!ELEMENT title (#PCDATA)> <!ENTITY % para.ext "stuff |"> <!ENTITY % paradecl "<!ELEMENT paragraph (#PCDATA| %para.ext; emph)*>"> %paradecl; <!ELEMENT emph (#PCDATA)> <!ELEMENT stuff (#PCDATA)> I'm always wondering why all this "for interoperability" language is in the spec. It's hard to know what weight to assign something that's neither legal nor illegal - or something that's technically valid, but discouraged in some usage contexts that aren't very clearly defined in the spec. -- Richard Goerwitz PGP key fingerprint: C1 3E F4 23 7C 33 51 8D 3B 88 53 57 56 0D 38 A0 For more info (mail, phone, fax no.): finger richard@g... 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/ and on CD-ROM/ISBN 981-02-3594-1 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