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

Previous Topic: 2.1.4.3.8.1.2 Structural module coding requirements

Next Topic: 2.1.4.3.8.1.4 Element domain module coding requirements

Parent Topic: 2.1.4.3.8.1 DTD syntax specialization module coding requirements

Sibling Topics:

2.1.4.3.8.1.1 General element type declaration coding requirements

2.1.4.3.8.1.2 Structural module coding requirements

2.1.4.3.8.1.4 Element domain module coding requirements

2.1.4.3.8.1.5 Attribute domain module coding requirements