In the base DITA distribution, find the file "concept.dtd
" and copy it into the faq-question/dtd
directory and rename it "faq-question.dtd
" (in the sample materials this file is named faq-question-v1.dtd
).
%concept-info-types;
and rename it to %faq-question-info-types;
. Set its replacement text to "no-topic-nesting", rather than "%info-types;".<no-topic-nesting>
element is one of the DITA "specialization" element types that exist to work around limitations in DTD syntax. In particular, if you have a content model declared like so: (%some-parameter-entity;)You cannot simply set
%some-parameter-entity;
to an empty string, because the resolved result would be: ()which is not valid.
The solution is to define an empty element type that acts as a placeholder, thus <no-topic-nesting>
.
Try validating or opening the test document again. This time you should not get a "DTD not found" error but you should get "element type 'faq-question' not declared" sort of errors, indicating that it found the DTD but not the declarations for the FAQ-specific element types, which of course we haven't created yet. But we're making progress.