To access the contents, click the chapter and section titles.

Special Edition Using SGML
(Imprint: Que)
(Publisher: Macmillan Computer Company)
Author: Martin Colby
ISBN: 0789704145


Introduction
About the Authors

Part I—SGML Development: Essential Ideas, Terms, and Technology
Chapter 1—Background and Nature of SGML
Why Markup Languages Are So Popular
SGML and the ISO and CALS Standards for Data
How SGML Relates to ISO
How SGML Relates to CALS
The CALS SGML Standard and the Civilian World
How SGML Makes Information Transportable
Hardcopy and Electronic-Specific Markup
Generalized Electronic Markup
Standard Generalized Markup—What SGML Does
How SGML Maintains the Integrity of Content and Structure
Individual Document Markup
Document Type Definitions
SGML and the Internet
How HTML Is Evolving To Include Larger Numbers of SGML Features
The Internet and SGML Browsing and Authoring Tools
SGML Resources on the Internet
What the Future May Hold for SGML and Its Applications
Multimedia Extensions and the Internet
From Here…
Chapter 2—SGML View of the World: Structure, Content, and Format
Structure, Content, and Format
What Is Structure?
What Is Content?
What Is Format?
Why Structure, Content, and Format Are Important in SGML
Indicating Structure Through Visual Cues
Losing Structure in Word Processing Documents
An Alternative View
Structural Views of Information
Defining Structure in SGML
Using Structure in SGML
From Here…
Chapter 3—SGML Terminology
What Are the Components of SGML Documents?
Document Declarations
Parts of a Tag
Elements
Attributes
Entities
Document Content
What Are the Components of DTDs?
DTDs and Declarations for Elements, Attributes, and Entities
Components of a Declaration in a DTD
Connectors and Occurrence Indicators
Groups in a Declaration
Comparing Declarations in a Document and a DTD
Blending Content and Structure in Diagrams
From Here…
Chapter 4—The Basic Procedure
Document Analysis
Defining Your Environment
Defining Your Elements
Relating Elements to Each Other
Extending Document Architecture
Developing the DTD (Content Modeling)
Making Your DTD Declarations
Designing Components for DTDs
Evaluating DTDs
Formatting the DTD for People (Not Machines)
Following Good SGML Practice
Defining Output Specifications
Incorporating Document Markup
Document Parsing
Working with Consultants
Before the Consultants Come
After the Consultants Arrive
Combining Your Expertise with Their Expertise
From Here…
Chapter 5—Two Scenarios
Some Recent History
Creating an SGML Environment from Scratch
The President’s Message
What You’re Going To Do
Defining the Goals
Document Analysis
Document Modeling
Parsing Document Type Definitions (DTDs)
Document Maintenance Considerations
Converting Existing Documents into SGML (Filtering)
Document Analysis
Document Modeling and DTD Design
Document Conversion
Parsing DTDs and Documents
Tricks, Traps, and Pitfalls
From Here…

Part II—Document Analysis
Chapter 6—Defining the Environment
Preparation for Defining the Environment
Decide How You Are Going To Use Your Documents
Decide What Standards and Policies You Must Obey
Format Standards
Structure Standards
Content Standards
Types of Policies
Identify All Your Document Users and Their Tools
External Customers
Internal Customers
Customer Tools
Gather and Inspect All Your Document Types
Choose Names for All Your Different Types of Documents
Anticipating Document Evolution
Mistakes and Redefining Your Environment
Assessing Damage Impact
Fixing Big Mistakes
How to Know When You’re Done Defining Your Environment
From Here…
Chapter 7—Defining the Elements
How Big Should Your Elements Be?
Element Content Models
Hierarchy and Sequence
Occurrence
Structure Diagrams
Types of Data Content
Types of Data for Attributes
The Definition Process
Step 1: Pick a Document Type
Step 2: List the Elements
Step 3: Name Each Element and Assign Relationships
Step 4: Keep Listing Elements Until None Are Left
Step 5: Compare the Elements for Relationships and Groups
Step 6: Check for Missing Elements
Step 7: Construct a Structure Tree
Step 8: Assemble an Element Dictionary
Step 9: Have Others Check Your Work
Step 10: Revise and Test Your Work as Needed
From Here…
Chapter 8—Relating Elements to Each Other
Sequencing Elements
Element Occurrence
Element Hierarchy
Element Inclusion and Exclusion
Element Groups
Structure Diagram Revisited
From Here…
Chapter 9—Extending Document Architecture
Adding Features to Documents
Adding Revision Tracking Information to Documents
Preliminary Steps
Element or Attribute?
Adding Hypertext Links to a Document
Local and Remote Links
Adding Multimedia Content
Adding a Graphic
Adding a Sound or Video File
HyTime
Goals of HyTime
Addressing
Architectural Templates (Forms)
HyTime Requirements
Upgrading Your HTML Site to an SGML Site
From Here…

Part III—Content Modeling: Developing the DTD
Chapter 10—Following General SGML Declaration Syntax
Publicly Available DTDs May Be Appropriate
Why Get Involved with DTD Syntax?
SGML Declaration Syntax (or, “What Are All Those Angle Brackets Anyway?”)
Regular Expression Syntax
Specific Declarations
The SGML Declaration
The DOCTYPE Declaration
The COMMENT Declaration
Elements and the ELEMENT Declaration
Attributes: Their Use and the ATTRIBUTE Declaration
Entities: Their Use and the ENTITY Markup Declaration
Tags and Tag Minimization with Omittag
Some Practical Examples
From Here…
Chapter 11—Using DTD Components
When (and Why) To Use DTD Components
Multiple DTDs
Many Developers
A Growing DTD Environment
Change Is Coming
Long Lifetime
Making DTDs Simpler
Making New DTDs Easier To Develop and Maintain
Standardizing Basic Components
Simplifying DTD Maintenance
Making Your DTDs More Consistent
How To Make Components
Fragment Assembly
DTD Redefinition
Defining Parameter Entities as Elements
From Here…
Chapter 12—Formatting the DTD for Humans
Why Formatting DTDs Is Important
Old Documents and New People
The Friendly DTD
The Common DTD
Making Comments in DTDs
Full Comment Declarations
Inline Comments
Separating the DTD into Logical Groups of Elements
Declaring Elements After Their First Content Model
Where To Define Attributes
Aligning Declarations
From Here…
Chapter 13—Evaluating DTDs and Using Parsers
Evaluating Your DTD
Document Scope
Document Lifespan
Sanity Checking Your DTD
Standards Enforcement versus Flexibility
Maintaining Your DTD
Parsing the DTD
Parsers
What Validating Parsers Do
What Parsers Don’t Do
What To Look for in a Parser
Evaluating Parser Output Messages
From Here…
Chapter 14—Following Good SGML Practice
Choosing Elements or Attributes
Types of Attributes
Common Mistakes with Attributes
Handling Inclusions and Exclusions
Exception Reminders
Common Mistakes
Dealing with Mixed-Content Models
Dealing with Ambiguous Content Models
How Flexible Should DTDs Be?
Miscellaneous Reminders
Processing Instructions
User Involvement
Frequent Validation and Model Testing
Consistent Documentation
From Here…

Part IV—Markup Strategies
Chapter 15—Automatic versus Manual Tagging
Deciding which Markup Method Is for You
Big Installation versus One-Person Hobbyist
Complex versus Simple Hardware and Software
Simple Documents or Complex Document Collection
Short or Long Timeline
Manual Markup
Document Conversion
Structured Authoring
Document Conversion and Its Tools
Word Processing Conversion Tools
Conversion Tools for Intermediate File Types
Conversion Between SGML Document Types
Structured Authoring and Its Tools
From Here…
Chapter 16—Markup Challenges and Specialized Content
Using Standard Data in Documents
Using Entity References for Boilerplate
Building Conditional Documents
Declaring Marked Sections
Include and Ignore Processing
Using Entities with Marked Sections
Including Specialized Content
The NOTATION Declaration
Tagging Shorthand
Shortref Usage
From Here…

Part V—SGML and the World Wide Web
Chapter 17—How HTML Relates to SGML
How SGML and HTML Are Related
Why SGML?
What SGML Includes That HTML Does Not
What HTML 3.0 Adds
More for SGML To Add to HTML
What SGML Can Add to Web Sites
The Case for the Web to Upgrade to SGML
What Is Needed
What SGML Flexibility Can Do for Web Sites
SGML and HTML Obsolescence
From Here…
Chapter 18—SGML’s Emergence on the World Wide Web
Why the Secret about SGML?
Scholarly and Expert Clientele
The Dearth of Easy-to-Use Books on SGML
Expensive SGML Software
HTML’s Many Sister Applications
SGML on the Web
SGML Resources That Translate to HTML
Native HTML Documents as SGML Resources
SGML Resources as Non-HTML Document Instances
SGML Resources Available on the Web
SGML Resources Available on the Web in the Future
Scientific and Technical Data
Stylesheets
Multimedia and Hyper-G
From Here…
Chapter 19—Should You Upgrade To SGML?
How HTML and SGML Relate
What Data Is Already in SGML?
From Commercial Publishers
From Computer Vendors
From Libraries and Universities
From Industry
From Government and the International Community
Why Is This Data in SGML, Not HTML?
Five Questions To Ask about My Data
What Functionality Do I Need?
Do I Need Flexible Data Interchange?
How Complex Are my References and Links?
What Kind of Maintenance Is Needed?
Can I Make Do with HTML?
How to Use HTML Safely
Challenges of Upgrading
Fewer Browsers To Choose from
A DTD To Choose or Design
More Syntax To Learn
Benefits of Upgrading
Platform Independence
Browser Independence
HTML Revision Independence
Appropriate Tag Usage
Large Document Management
Internationalization
Better Support for Large Documents
From Here...
Chapter 20—Practicalities of Working with SGML on the Web
Tactics for Using SGML on the Web
Tools
SGML-aware Viewers (for CD, LAN, and Mostly WAN)
Integrated SGML Converters
Generic Conversion Tools
Retrieval Engines
The Big Document Problem
SGML Requires More Thinking Up Front
DTD Choice, Design, and Modification
Need To Think More Hierarchically
SGML Assures More Consistency and Flexibility
SGML Helps Make Allowances for HTML
Overusing Optional SGML Features Is Dangerous
From Here...
Chapter 21—Integrating SGML and HTML Environments
Can It Be Done?
Novell
Text Encoding Initiative (TEI)
The Oxford University Text Archive (OTA)
University of Virginia
Center for Electronic Texts in the Humanities (CETH)
Summer Institute of Linguistics (SIL)
University of California at Berkeley
SGML Open
The Online Computer Library Center (OCLC)
Compromises To Be Made
Conversion Can Be Expensive
Non-conversion Can Cost More Later
Poor DTD Design Is Very Costly
Tools Required and How To Combine Them
Getting into SGML
Getting Back Out to HTML
Getting Back Out to Print
Document Management
From Here…

Part VI—Learning from the Pros
Chapter 22—Developing for the World Wide Web
SGML’s Future on the Web
Batch versus On-Demand Models
MIME Issues
High-End Search/Retrieval
Link Persistence
HyTime: SGML and Hypermedia
Ultra-Basics of HyTime Links
How to Make HyTime Links
How To Make Effective SGML Web Pages
Support for More Kinds of Documents
Support for Big Documents
Focus on Your Data
Link to Important Related Data
Avoid “Only Works in Client X”
From Here…
Chapter 23—Rapid Development and Prototyping
Scoping/Bounding the Process
Defining Your Scope
Defining the Document Set
Defining Your Goals
Defining Your Timeframe
Defining Your Environment
Assemble Your Team
Team Members
Team Member Personalities
The Dynamics of Participation
Data Gathering
Document Analysis
System Design
From Here…
Chapter 24—Understanding and Using Output Specifications
The View of a Document from an Output Perspective
Formatting Elements Through Their Structural Occurrence
Issues Involved with Output Specifications
SGML Syntax
Group Styles
Entity and Attribute Usage
Style Inheritance
Issues in Specialized Output
Handling Hardcopy/Printed Output
Handling Electronic Output
Handling Dynamic Documents
Difficulties with Output Specifications
Output Specification Standards
FOSI
DSSSL
From Here…
Chapter 25—Handling Specialized Content and Delivery
Handling Tables
The Format versus Content Challenge
Hybrid Content-Format Table Structure
Handling Math and Equations
Equations as Graphics
External Processing of Equations
Equations Structures in the DTD
Linking Revisited
Footnotes and Endnotes
Citations and Bibliographies
Multimedia Linking
From Here…

Part VII—SGML Tools and Their Uses
Chapter 26—Tools for the PC: Authoring, Viewing, and Utilities
A New Era in SGML Tools
SGML Authoring Tools
WordPerfect SGML Edition
Near & Far Author
SGML Author for Word
Other SGML Tools
Panorama Pro
Near & Far
From Here…
Chapter 27—Tools for the Mac: Authoring, Viewing, and Utilities
Planning an SGML Project on the Mac
Authoring and Conversion Tools for the Mac
SoftQuad Author/Editor 3.1
SoftQuad RulesBuilder 3.0
SoftQuad Sculptor 1.0
Stilo
Qued/M, Alpha, and BBEdit
SGMLS
Scripting Languages
Viewing and Printing Tools
SGML Enabler
FrameMaker+SGML
DynaText
Document Conversions
Converting from Plain Text
Converting from an RTF File
Converting from SGML to Another DTD or Data Format
From Here…
Chapter 28—Other Tools and Environments
Specific Computer Platform Usage
SP/NSGMLS Parser
The World of Perl
SGML Utilities Using Perl
Electronic Book Technologies: DynaText
Avalanche/Interleaf: FastTAG
From Here…

Part VIII—Becoming an Electronic Publisher
Chapter 29—Understanding the Old Paradigm
The Components of Information Delivery
The Ways of Organizing Knowledge
Linear Books
Modular Books
Implications of the Linear Way of Organizing Information
The Role of Format
The Role of Structure
The Whole Book or No Book Problem
The Stationary Information Problem
The Once and for All Information Problem
The Specialist Needed Problem
Structure Revisited
From Here…
Chapter 30—Understanding the Information Revolution: The New Paradigm
How Modular Information Drives the Information Revolution
The Reader Is a Collaborator
Modular Document Sharing Is Only the Beginning
Modular Information and Collaboration
Current Collaborative Projects on the Web
TEI
AAP/EPSIG
The Davenport Group
SGML Open
EWS
Collaboration on SGML Standards
HyTime
SMDL
ICADD
UTF
Fred at OCLC
How SGML’s Modular Organization Promotes Worldwide Learning
From Here…
Chapter 31—Object-Oriented Development of SGML Applications
Object-Oriented Technology: The Basics (and the Confusion)
Object-Oriented Development and SGML: Why?
Common Vocabulary
Class
Instance
Attribute
State
Behavior
What Can Object-Oriented Development Techniques Do for DTD Development?
What Can a DTD Do for Object-Oriented Development?
Booch’s Object-Oriented Methodology
Rumbaugh’s Object-Oriented Methodology
Defining Object Relationships in an SGML System
Using the DTD To Automate Object-Oriented Development
A Sample Smalltalk SGML System
Object-Oriented Technology and the Future of SGML Development
Concurrency
SGML and Object-Oriented Databases
SGML Entity Management
The Future of SGML Application Developers
From Here…
Appendix A
Appendix B
Index