[Archive copy mirrored from the URL: http://www.snee.com/bob/sgmlfree/toc.html; see this canonical version of the document.]
SGML CD: Free SGML Software and How to Use It1 Introduction
This Book's Approach
The Programs
What This Book Assumes You Know
Getting and Using the Software
Useful Installation Utilities
Further Research
The Future2 Editing SGML Data with the Emacs Text Editor
Getting Emacs
Editing Text Files with Emacs
Starting and Quitting Emacs
Emacs Commands
Moving Your Cursor Around
Editing and Deleting Text
Saving Edits
Copying, Moving, and Deleting Blocks of Text
Searching for Text, Replacing Text
Editing Multiple Files
Completion
Using Multiple Emacs Windows
Customizing Emacs
Recording and Executing Macros
Emacs LISP
Setting Emacs Variables to Control Its Behavior
Available On-line Help
Editing SGML Documents with Emacs and PSGML
Installing PSGML
Starting Up PSGML
SGML Declarations and DTDs
Using PSGML
PSGML Startup Variables
Entering PSGML Commands
Entering Text
Splitting the Live Element
Inserting Tags Around Existing Text
Inserting Elements with the Menu
Justifying Element Text
Indenting Text
Moving Your Cursor Around an SGML Instance
Deleting, Moving, and Copying Elements
Copying Elements
Editing Attributes
Finding Tagging Mistakes
Validator Output
Changing the Validation Command
Other Handy PSGML Features
Displaying Markup in Different Fonts and Colors
Normalizing Document Instances
Help Entering Entity References and Markup Declarations
Showing the Live Element's Context
Quick Reference of Emacs and PSGML Keystrokes3 Parsing and Validating SGML Documents with nsgmls
Getting nsgmls
What You Get
Running nsgmls
Finding DTDs
Validating Documents
Finding Errors
Typical Tagging Errors
Finding Attribute Problems
Finding DTD Problems
nsgmls and the SGML Declaration
Telling nsgmls to Be Pickier
Using nsgmls Parsed Output
The Output
Processing the Output
Sending Text to Your Program and Saving Processed Output
Saving Error Messages Separately from Program Output
Other Output Possibilities4 Formatting Documents with DSSSL Specifications and Jade
Installing Jade
Running Jade
A Short Example
Flow Objects and Sosofos
Popular Flow Object Classes
Defining a Basic Page Style: simple-page-sequence
Specifying Format Variations: sequence
Formatting Individual Paragraph Types: paragraph
Formatting Groups of Paragraphs: display-group
Displaying Graphics: external-graphic
Flow Object Classes in jade_ex1.dsl
A More Complex Example
Using DSSSL Variables and Functions
Itemized and Ordered Lists
Inline Elements and Graphics
Taking Advantage of DSSSL's Power
Constants
Defined Styles
Writing New DSSSL Functions
HTML Output5 Analyzing DTDs with the perlSGML Tools
Running Perl Scripts
Installing the perlSGML Tools
Documentation
Built-in Help
Creating a Tree-like Picture of a DTD: dtdtree
Saving Output
Creating a DTD Tree of Part of a DTD
Creating a Hypertext Report on a DTD: dtd2html
Including Entities in the Report
Generating Quick Reference Reports
Generating an HTML Tree Representation of the DTD Structure
Adding Further Documentation to the HTML Files
Adding Comments
Adding Comments to Sample HTML Output
Updating Your DTD
Making Interactive Queries About a DTD: dtdview
Navigating the DTD
Asking dtdview About the DTD
Saving dtdview Command Output and Running Scripts
Finding the Differences between two DTDs: dtddiff
Generating a DTD Difference Report
Stripping the Tags from an SGML Document Instance: stripsgml
Using stripsgml
Entities
HTML Files
stripsgml and non-SGML Files6 Developing SGML Applications with Perl
Perl Basics
Perl 4 and sgmls.pl
RTF
sgmls.pl
Selective Element Printing
Accessing Attribute Values
Fancier Program Logic: Dealing with Lists
Putting It All Together
Using html2rtf.pl
Perl 5 and SGMLS.pm
SGMLS.pm as a Class Library
Installing SGMLS.pm
Available Documentation
Using SGMLS.pm
Event-driven Processing with sgmlspl.pl
Running sgmlspl.pl with an event handler file
Writing Event Handlers
Creating sgmlspl.pl Specification Files with skel.pl7 Developing Windows SGML Applications with SGMLC-Lite
Installation
What You Get
Starting It Up
Writing and Running an SGMLC Application
Rules Files
Running a Rules File
Assigning Additional Rules Files to a DTD
Deregistering Rules Files
SGML Declarations
Developing Document Conversion Applications
Prompting for User Input and Setting up Output Streams
Accessing Attribute Values
Default Event Handlers
Mapping SDATA Entities
Developing Interactive Applications
Other SGMLC-Lite Features8 Interesting Publicly Available SGML Documents
Downloading the Documents
Nice Data if You Can Parse It: The World Wide Web
Classics of World Literature: The Oxford Text Archive
Middle English and American Verse: The Humanities Text Initiative
Diaries, Pamphlets, and Other Historical Documents: American Memory
Victorian Women Writers Project
Finding Aids for Archival Collections
Duke University Special Collections Library
Thesaurus Linguarum Hiberniae
Internal Revenue Service9 SGML for Free: Building a Complete System
DTD Composition, Analysis and Navigation
Composing and Editing SGML Documents
Ensuring Validity of Documents
Previewing a Formatted Document
Printing a Formatted Document
Converting SGML Documents to Other Formats and Documents