A typical FAQ consists of one or more groups of questions, where each group has a descriptive title. There may be some introductory material that is not itself FAQ questions.
The metadata requirement is handled by the generic metadata for topicrefs and maps (at least for the purpose of this exercise). References to generic topics can be done using unspecialized
<faq-question>topic type to require short descriptions, it is probably appropriate to set the default value for the
@typeattribute to "faq-question" so that users are warned if they point to other topic types. Because FAQ questions are explicitly atomic,
<faq-question>does not allow subordinate topicrefs.
(topicmeta?, topicref?, faq-question*).
<map>and serves as the root of an FAQ publication. It's content model is:
(title, topicmeta?, keydef*, faq-question-set, reltable*)
By requiring exactly one
<faq-question-set> the map clearly establishes the root of the overall FAQ navigation structure.