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.
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.
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
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