Controlling nesting in topic types
For topic modules, the last position in the content model is typically a reference to the
topictype-info-types group. Document types shells
can control how topics are allowed to nest by redefining the group. If topic nesting is hard
coded in the structural module, and cannot be modified from the document-type shell, the
topictype-info-types group is not needed.
For example, the vocabulary module for the
concept structural type uses the group
concept-info-types; this group is given a default value, and then
referenced from the content model for the concept element
type:<xs:group name="concept-info-types">
<xs:choice>
<xs:group ref="concept"/>
<xs:group ref="info-types"/>
</xs:choice>
</xs:group>
<xs:group name="concept.content">
<xs:sequence>
<xs:group ref="title"/>
<!-- ...other elements, such as shortdesc and body, and then... -->
<xs:group ref="related-links" minOccurs="0"/>
<xs:group ref="concept-info-types" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>