Topic type module coding requirements

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;)*)"
>

Was this helpful?