We found a match
Your institution may have access to this item. Find your institution then sign in to continue.
- Title
How to maintain a family of DTDs and keep them related using switchboards.
- Authors
van Wijk, Diederik A. Gerth
- Abstract
The use of parameter entities and marked sections as employed in DocBook or TEI is a well known and proven method for customizing an industry standard DTD to a user's specific needs. In these DTDs it is easy to add or remove elements. However, changing content models is a hard thing to do. If you want to change the frequency or the sequence of elements you have to rewrite content models or at least partially rekey parameter entity declarations containing parts of content models. That must be done by people who are very aware of SGML syntax and furthermore know exactly what the side effects of changing one parameter entity would be. But even more important, rewriting content models or parameter entities in some local entity means that it's very hard to inherit future changes in the global DTD. A technique is described by which content models can be tightened or loosened by toggling switches. Switches are parameter entities with possible values of INCLUDE or IGNORE that determine which marked sections in the DTD will be included or ignored. All localization for a specific DTD is made in a switch file that overrules the default switch setting. An important role is played by the central switchboard, where the default settings are made, depending on the state of earlier defined switches. When all the switches are set, the content models can be built. Since the strict SGML syntax makes it very hard to consistently ensure you always get valid model groups, we developed a simple tool that allows us to use a relaxed syntax in the source files, and generates one file containing the entire DTD with all parameter entities resolved and all empty content tokens removed from model groups. This article describes an actual problem and one practical solution. The case it describes can however be generalized to a broader class of DTD maintenance issues, and a more formal approach should be considered, that could either be implemented using an automatically generated switch board system or as addenda to a schema language. Such discussion is beyond the scope of this case study, but might be covered in another article.
- Subjects
DATA tape drives; TELEPHONE switchboards; COMPUTER input-output equipment
- Publication
Markup Languages: Theory & Practice, 2000, Vol 2, Issue 4, p421
- ISSN
1099-6621
- Publication type
Article
- DOI
10.1162/109966200750428731