SMGL DTD Design Principles

This is an early draft of something I wrote probably in 1993 or so. The file is dated 1997, but I remember sending a draft to Yuri and discussing it with him.

1

Make relationships explicit

Markup can be interpretive or neutral: be mindful of editorial authority

Consider both users and software

Consider conversion to SGML as a separate issue from creating new documents

Constant text should be generated, not included as content.

2

Use containers, not just adjacency, for related things

`reflect' repeated data

General running text should always have the same content model

Keep displayed textual content in elements, not attributes

Be as permissive as makes sense

3

Keep to a commenting convention, including DTD Public ID and version

Use clear element names, and don't reuse names for different things

The same thing in different contexts should have the same name

Adopt element naming conventions (e.g. author.affiliation)

Minimise the use of Inclusions and Exclusions