[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Inheritance using DTDs
Avneet Sawhney writes: > The more I look into it, I don't see DTD's as an efficient way to > support inheritance. The use of internal subsets seems just a > workaround. The use of parameter entities and the INCLUDE and > IGNORE statements require too much collaboration between the > interested parties. I guess you could make every element and > attribute an entity, but that does not seem appropriate. That's exactly what TEI did in their SGML DTD (and more). Take a look at the declaration for <p> (paragraph): <!ENTITY % p 'INCLUDE' > <![ %p; [ <!ELEMENT %n.p; - O (%paraContent;) > <!ATTLIST %n.p; %a.global; TEIform CDATA 'p' > ]]> If you declare <!ENTITY % p 'IGNORE'> the <p> element will be omitted from the DTD altogether; if you declare <!ENTITY % n.p 'paragraphe'> Then the element type will be named 'paragraphe' rather than 'p' (but the TEIform attribute will still be 'p' so that software knows how to process it). You can, of course, also influence the content model in subtle ways. I'd say that all of this pushes DTD syntax about as far as it should be pushed, if not several steps further -- it reminds me of all the C-can-be-object-oriented-with-clever-enough-macros examples that proliferated early this decade as a rear-guard action against C++. 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
|