Architectural specification : Architectural Specification: Base : Configuration, specialization, and constraints : Specialization : Specialization module coding requirements : DTD syntax specialization module coding requirements : Topic type module coding requirements
   
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;)*)"
>