Syllabus - Practical Formatting Using DSSSL

Author: G. Ken Holman
Date: 1998-02-23 14:00

Copyright (C) 1998 Crane Softwrights Ltd.
http://www.CraneSoftwrights.com
Schedule of Courses

 Crane Logo

Table of Contents

1 Abstract
2 Length
3 Expected Audience
4 Prerequisites
5 Synopsis
6 Syllabus
6.1 Day 1
6.2 Day 2
6.3 Day 3

1: Abstract

"Practical Formatting Using DSSSL" introduces the concepts and formatting basics of the Document Style Semantics and Specification Language (DSSSL) using the publicly available James' Awesome DSSSL Engine (JADE) program. The course combines the use of lectures and hands-on exercises to convey the material. Attendees are invited to bring a Windows'95- or Windows'NT-equipped personal computer for the practical exercises. The objectives of the course are to understand the role of the standard and the utility of the tool, to successfully write DSSSL programs, and to efficiently navigate the available documentation and resources.

2: Length

The course can run in either a one-, two- or three-day format. The first day is particularly full and covers sufficient basics with practical exercises. The second and third days are an extension of the first day with more technical concepts and detailed exercises.

3: Expected Audience

This course is aimed at people needing to understand both conceptual and practical aspects of the DSSSL formatting language and the JADE tool.

4: Prerequisites

Attendees must have knowledge of SGML concepts and syntax, as these are not covered explicitly in the course. To participate in the hands-on exercises, they must have either Windows'95 or Windows'NT or, if the course is taught where machines are supplied, at least be familiar with their operation. If machines are not being supplied at the course location, attendees are asked to bring either full Word'97 or the free Word'97 Viewer from http://www.microsoft.com/word/internet/viewer/. Copies of the exercise materials are available on diskette at the course.

It does help to have some computer programming experience to do the exercises, though this is not mandatory as non-programmers are given complete solutions to research in place of deriving the exercise solutions on their own.

5: Synopsis

For many people, all that is needed to "get over the hump" of understanding both the complex documentation and the apparently complex concepts of the Document Style Semantics and Specification Language (DSSSL) is instruction in the basics upon which these standards are built.

"Practical Formatting Using DSSSL" successfully equips the attendee with an understanding of the major components of this standard, and practice in the skills required to use DSSSL with the publicly available James' Awesome DSSSL Engine (JADE). These skills can then be used after the course for self-study of any revisions to this standard and any formatting facets that cannot be covered in such a short course time.

Many people find that the standard itself is difficult to read and understand, while others find the document outright scary. Part of the curriculum covers which parts of the documentation are important to understand to be productive using these tools in a production environment. A number of resources that are publicly available over the Internet are briefly overviewed so that the attendee can determine which materials are important to obtain and use.

The course does not cover the detail of the Transformation component of DSSSL; however, the SGML formatting back-end of JADE that can be used to accomplish transformation is part of the curriculum. This part of the course also covers the use of DSSSL where the final output format is not printed.

The hands-on exercises help cement DSSSL concepts by leading the attendee to resolve basic, often initially frustrating, obstacles under the supervision of the instructor and collaboration with fellow students. Primarily using the RTF back-end implemented in JADE, this course covers the fundamental mechanisms utilized throughout the formatting component of DSSSL. Attendees learn from practical experience how to navigate the documentation and extrapolate the course-taught concepts to components of the standard that are not explicitly covered in the curriculum. Attendees without computer programming experience are invited to research completed exercise solutions without needing to derive the solutions on their own.

During the course the exercises are timed to cover breaks so that students can choose to balance work time with break time should extra exercise time be required, thus reducing the chance of delaying the progress of the course material.

Answers to all exercises are available to attendees (although the key to unlock the answers is not released until the end of the course).

The language concepts, course topics and practical exercises during the second and third days are more detailed than those of the first day, and cannot be successfully comprehended without having studied the first day's material.

6: Syllabus

6.1: Day 1

    09:00   Course Introduction
            Student Introduction
            DSSSL Introduction
            DSSSL Documentation
            DSSSL Resources
            DSSSL Transformation Specifications
            DSSSL Stylesheet Specifications
    10:15   JADE Introduction and Documentation
            JADE Installation and Execution
            Hands-on: The First Example Stylesheet
    10:30   Break
    10:45   Concepts: Areas, Flow Objects, and sosofos
            DSSSL Expression Language
            SDQL: Standard Document Query Language
            Flow Objects: pages, paragraphs, sequences
            Hands-on: The Second Example Stylesheet
            Hands-on: The First Exercise (Boxes)
    12:45   Lunch
    13:45   Hands-on: The First Exercise (cont.)
    14:15   Flow Objects: Graphics and Cross References
            Hands-on: The Second Exercise (Graphics)
    14:45   Break
    15:00   Hands-on: The Second Exercise (cont.)
            Flow Objects: SGML Back End
            Hands-on: The Third Exercise (SGML-styled Transformation)
    16:45   Review/Questions
    17:00   End of Day

6.2: Day 2

    09:00   Review/Questions from Day 1
    09:30   Flow Objects: Ports and Tables
            Hands-on: The Third Example Stylesheet
            Hands-on: The Fourth Exercise (Tables)
    10:30   Break
    10:45   Hands-on: The Fourth Exercise (cont.)
    12:30   Lunch
    13:30   Flow Objects: Modes and Asynchronous Processing
            Hands-on: The Fifth Exercise (TOCs and References)
    14:45   Break
    15:00   Hands-on: The Fifth Exercise (cont.)
            Review/Questions
    17:00   End of Day

6.3: Day 3

    09:00   Review/Questions from Days 1 and 2
    09:30   DSSSL Expression Language and SDQL
            Hands-on: The Sixth Exercise (Expression and SDQL)
    10:30   Break
    10:45   Hands-on: The Sixth Exercise (cont.)
    11:30   Whitespace, Lines, Maps and Labels
            Hands-on: The Seventh Exercise (Whitespace and Lines)
    12:30   Lunch
    13:30   Hands-on: The Seventh Exercise (cont.)
            SGML Back End File Creation
            Hands-on: The Eighth Exercise (Entities)
    14:45   Break
    15:00   Hands-on: The Eighth Exercise (cont.)
            Review/Questions
    17:00   End of Day

Syllabus - Practical Formatting Using DSSSL
G. Ken Holman
1998-02-23 14:00