Find the file "
concept.mod" in the regular DITA DTD distribution and copy it to "
faq-question.mod" in your
faq-question.dtdfile (the document type shell DTD) and integrate the module as follows:
<!ENTITY % faq-question-typemod SYSTEM "faq-question.mod" > %faq-question-typemod;
<!-- ============================================================= --> <!-- TOPIC ELEMENT INTEGRATION --> <!-- ============================================================= --> <!-- Embed topic to get generic elements --> <!ENTITY % topic-type PUBLIC "-//OASIS//ELEMENTS DITA Topic//EN" "topic.mod" > %topic-type; <!-- Embed concept to get specific elements --> <!ENTITY % concept-typemod PUBLIC "-//OASIS//ELEMENTS DITA Concept//EN" "concept.mod" > %concept-typemod; <!ENTITY % faq-question-typemod SYSTEM "faq-question.mod" > %faq-question-typemod;
Note also that I didn't bother to define either a public identifer or a URN for the
%faq-question-typemod; parameter entity. This is to keep things simple, as with our test document. Later, once we've got everything working, we can replace the relative URL with a URN and set up the necessary catalog mappings.
Trying validating your test document again. Now you should get errors to the effect that the "concept" element type is declared multiple times, as well as the same messages about the FAQ-specific element types not being declared. This indicates that we've got the module integrated with the shell correctly.