<faq-question> as a specialization of <concept><faq-question-statement> as a specialization of <title><faq-answer> as a specialization of <conbody><concept> element type. Change "concept" to
"faq-question" in the element and attribute list declarations.<faq-question>, change "%title;" to "%faq-question-statement;" and "%conbody;" to "%faq-answer;".<conbody> element type. Change "conbody"
to "faq-answer" in the element and attribute list declarations.<title> element. Copy this declaration and paste it into
faq-question.mod. Change "title" to "faq-question-statement" in the element and
attribute list declarations.
<!-- LONG NAME: FAQ question -->
<!ENTITY % faq-question.content
"
((%faq-question-statement;),
(%titlealts;)?,
(%prolog;)?,
(%faq-answer;)?,
(%related-links;)?,
(%faq-question-info-types;)* )
">
<!ENTITY % faq-question.attributes
'
id ID #REQUIRED
conref CDATA #IMPLIED
%select-atts;
%localization-atts;
%arch-atts;
outputclass
CDATA #IMPLIED
domains CDATA "&included-domains;"
'>
<!ELEMENT faq-question %faq-question.content; >
<!ATTLIST faq-question %faq-question.attributes; >
<!-- LONG NAME: FAQ answer details -->
<!ENTITY % faq-answer.content
"
((%body.cnt;)*,
(%section;|
%example;)*
)
">
<!ENTITY % faq-answer.attributes
'
%id-atts;
%localization-atts;
outputclass
CDATA #IMPLIED
'>
<!ELEMENT faq-answer %faq-answer.content; >
<!ATTLIST faq-answer %faq-answer.attributes; >
<!-- LONG NAME: FAQ question statement -->
<!ENTITY % faq-question-statement.content
"
(%title.cnt;)*
">
<!ENTITY % faq-question-statement.attributes
'
%id-atts;
%localization-atts;
outputclass
CDATA #IMPLIED
'>
<!ELEMENT faq-question-statement %faq-question-statement.content; >
<!ATTLIST faq-question-statement %faq-question-statement.attributes; >
If you want, validate the test document again. You should now only get "parameter entity 'question-statement'
was referenced but not declared" sorts of errors (and maybe some errors about the declaration
of <faq-question> itself). This indicates we've declared the necessary element
types, at least minimally, but we need to declare the parameter entities as well.