KEY BENEFIT: Document Type Definition (DTD) specifications form
the foundation for every document based on the SGML language — therefore DTD
quality is too important to be left to chance. This helpful guide shows how to develop
DTDs that work, based a proven methodology and techniques.
Explains how DTD development benefits from the same rigorous treatment as software
development: Articulate project goals, analyze requirements, write specifications, design
and implement readable and maintainable code using good programming style, perform
thorough testing, and document the work along the way.
MARKET: For writers,
editors, and other subject matter experts; software developers and other DTD
implementors; and publishing managers.
1. INTRODUCTION AND OVERVIEW.
1. Introduction to SGML.
SGML, Document Types, and Documents. SGML and Other Markup
Systems. Procedural Markup Versus Declarative Markup. System-Specific
Markup Versus Generic Markup. Noncontextual Markup Versus Contextual
Markup. SGML Markup Strengths. SGML Constructs. Elements. Attributes.
Entities. Comments. Putting the Pieces Together. SGML Document Processing.
2. Introduction to DTD Development.
DTD Development Phases. SGML Information-Modeling Tools
3. DTD Project Management.
The Global Picture. Types of Interaction with Documents.
Document Creation and Modification. Document Management and Storage.
Document Utilization. Components of an SGML-Based Production System.
Editing Tools and Environments. Conversion Engines and Applications.
Document Management System. Formatting Engines and Applications. Transformation
Engines and Applications. Search and Retrieval Engines and Viewing
Interfaces. Other Processing Applications. Document Engineering Toolbox.
Dependencies Between Production System Components. The Reference DTD
and its Variants. Interchange DTD. Authoring DTDs. Conversion DTDs.
Presentation DTDs. Data Flow Among the DTDs. Preparing to Launch the
Project. Project Risks. Defining Goals and Strategic Directions. Staffing
the Project. Listing Deliverables. Planning the Schedule and Budget.
Launching the Project. Setting Up the Project Team. The Project Leader.
The Design Team and Facilitator. The DTD Implementor. Guest Experts.
The One-Man Band Situation. Defining the Scope of Documents. Listing
the Constraints. Identifying Future Users. Describing the Workflow.
Writing the Project Plan. Politics of the Project.
4. Document Type Needs Analysis.
Preparing for the Team's Work. Training and Technical Preparation.
Basic SGML Concepts. Semantic Components. Recognizing Content, Structure,
and Presentation. Recognizing Nested Containment. SGML Project Overview
and Design Principles. Tree Diagram Notation. Administrative Preparation.
Deliverables. Teamwork Norms. Data Gathering. Performing the Needs
Analysis. Step 1: Identifying Potential Components. Step 2: Classifying
Components. Step 3: Validating the Analysis Against Similar Analyses.
5. Document Type Modeling and Specification.
Preparing for the Modeling Work. Designing the New Document
Type. Step 4: Selecting Semantic Components. Step 5: Building the
Document Hierarchy. Addressing Structural Components. Addressing Metainformation
Components. Step 6: Building Information Units. Step 7: Building Data-Level
Elements. Step 8: Populating the Branches. Step 9: Making Connections.
Links. Special Features. Entities. Step 10: Validating and Reviewing
the Design. Working from External Sources. Reviewing the Specifications.
Producing the Document Analysis Report. Writing the Document Analysis
Report. Reviewing the Document Analysis Report. Finalizing the Document
Analysis Report. Upgrading the Model.
6. Modeling Considerations.
Elements Versus Attributes. Multiple Elements. Single Element
in Different Contexts. Single Element with Partitioned Content Models.
Single Element with Multiple Attribute Values. Container Elements
Versus Flat Structures. Documents as Databases. Descriptive Versus
Prescriptive Models. Divisions. SGML Representations Versus Data Notations.
Generated Text Versus Text Supplied by Authors. Simple Paragraphs
Versus Complex Paragraphs. Inline Versus Block Elements.
7. Design Under Special Constraints.
Reusing Existing DTDs. Designing Document Types as an Industry-Wide
8. Markup Model Design and Implementation.
Determining the Number of DTDs. Creating DTDs for Nested
Document Types. Creating Variant Element Type and Attribute Declarations.
Interpreting Element Content Model Requirements. Handling Requirements
That Specify Ambiguous Content Models. Forcing the Occurrence of One
of Several Optional Elements. Handling Requirements for Mixed Content.
Handling Requirements for Attributes. Designing Enumerated-Type Attributes.
Designing ID and ID Reference Attributes. Designing Attributes with
Implied Values. Useful Markup to Consider. Semantic Extension Markup.
Markup That Eases Document Conversion. Designing Markup Names. Designing
Markup Minimization. Addressing Other Factors in Markup Design. Allowing
Markup Characters as Document Content. Defining Entities for Special
Symbols and Characters. Creating Text Databases and Templates. Supplying
a Default Entity Declaration. Identifying and Registering the DTD.
9. Techniques for Maintenance and Readability.
Using Good "Coding" Style. Comment Style. White
Space Style. Organizing Element and Attribute Declarations. Managing
Parameter Entities for Element Collections. Synchronizing the Content
Models and Attributes of Multiple Elements. Creating New Attribute
10. Techniques for Reuse and Modification.
Categories of Modification. Subsetted Markup Models. Extended
Markup Models. Renamed Markup Models. Facilitating Modification. Making
DTDs Modular. Making Content Models Modifiable. Including Markup Declarations
Conditionally. Making Markup Names Modifiable. Modifying Existing
11. Validation and Testing.
Setting Up and Managing a Bug-Reporting System. Bug Report
and Enhancement Request Forms. Bug and Enhancement List. Review and
Testing. Validating the DTD. Testing the Markup Model. Wrong or Overly
Constrained Model. Overly Broad Model. Testing the Use of the DTD
in the Real World. Model Not Well Suited to Applications. Model Difficult
IV. DOCUMENTATION AND TRAINING.
Documentation for Users of the Markup. Reference Manual
and Online Help. User's Guide. Tool Guides. Quick Reference. Online
Help. Documentation for Readers of the DTD.
Training Audiences. Training Program and Techniques. Phase
1: Initial Training. Introduction. Lectures and Paper Exercises on
the DTD. Global Presentation of the DTD. The Document Hierarchical
Structure. The Document Metainformation. The Document Information
Pool. Linking Processes. Miscellaneous Topics. Conclusion of the Lectures
and Paper Exercises. Computer Lab on the DTD. The Editing Software
and Environment. Tagging Exercises on Known Documents. Tagging Exercises
on Unknown Documents. Creation and Tagging of New Documents. Conclusion
of Initial Training. Phase 2: Training Followup. Phase 3: Refresher
Course. Post-Training Activities. Phase 4: Support. Phase 5. Quality
Inspection of Documents. Phase 6: Information and Training on the
DTD Updates. Training Administration. The Training Framework. Training
Prerequisites. Number of Participants. Length and Organization of
the Training. Choice of Trainers. Training Materials. The Learning
Curve: A Few Figures and a Few Hints. Time Span. Productivity Assessment.
Underlying Difficulties to Overcome.
A. Implementor's Crib Notes.
Element Declarations. Attribute Definition List Declarations.
Entities. General Entity Declarations. Parameter Entity Declarations.
Comments. Marked Section Declarations. Notation Declarations. Document
Type Declarations. Formal Public Identifiers. SGML Declarations.
B. Tree Diagram Reference.
Elements. Sequential and Either-Or Relationships. Occurrence
Specifications. Collections. Groups. Attributes. Additional Notations.
Tree Diagram Building Process.
C. DTD Reuse and Modification Sample.
Original DTD Structure. Modified DTD Structure. Main DTD
Files. Document Hierarchy and Metainformation Modules. Information
Pool Module. Markup Model Changes Made.