Re: Extending DTDs for Backward Compatibility
Joe Lapp wrote: > I need to create DTDs that are extensible. An application knowing the > semantics behind an old DTD may be handed an XML document written with an > extended DTD. The old application should be able to function with the extended > document by ignoring the extensions. I need advice on the best way to go about > creating the initial DTD (and subsequent DTDs, should their designs also be a > factor). > > There are different ways in which I might want to extend the initial DTD. One > way would be to add attributes or change default attribute values. This seems > easy to accomplish because XML allows one element to have multiple attribute > declarations, where attribute declarations are merged. However, it is not clear > to me how to best accomodate new element types that might be added. When we designed the CALS initiative in Australia, we created a core DTD and about 27 satellite DTDs. The core was riddled with parameter entities - in fact everything that you may want to remap used an entity. Variant DTDs were nothing more than parameter entities mapping out the differences between the core structure and the desired structure, then a parameter entity calling in the core file. Because the first parameter entity is regarded and any subsequent identically named entities are ignored, the remapped value stuck. For distribution, we wrote a simple program to expand out most of the entities, making the DTD readable as well as producing an extensively linked electronic format. This approach worked well - changes could be considered as local or global. If they were global, change the core, otherwise change the satellite. It ensured that elements meant fundamentally the same thing, but allowed the structural flexibility that disparate branches of the military require. -- Regards Marcus Carr email: mrc@a... _______________________________________________________________ Allette Systems (Australia) email: info@a... Level 10, 91 York Street www: http://www.allette.com.au Sydney 2000 NSW Australia phone: +61 2 9262 4777 fax: +61 2 9262 4774 _______________________________________________________________ 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