Topic type module coding requirements

Darwin Information Typing Architecture (DITA) Version 1.2

Topic type vocabulary modules must conform to additional coding requirements for defining default topic nesting.

Default nested topics entity

A topic type module must define an entity to specify default subordinate topics. The entity name must be the topic element name plus the -info-types suffix. For example, the info-types entity for the concept topic is concept-info-types. If the topic has default subordinate topics, this entity can default to a list of element entities. If not, the entity can default to the value of the info-types entity as in the following example:

<!ENTITY % concept-info-types "%info-types;">

A document type shell can then control how topics are allowed to nest by redefining the topictype-info-types entity for each topic type, or it can efficiently create common nesting rules by redefining the main info-types entity.

In the declaration of the root element of a topic type, the last position in the content model must be the topictype-info-types nested topics entity, as in the following example:

<!ENTITY % concept.content
  "((%title;), 
    (%titlealts;)?,
    (%abstract; | 
     %shortdesc;)?, 
    (%prolog;)?, 
    (%conbody;)?, 
    (%related-links;)?,
    (%concept-info-types;)*)"
>