<!-- Redefine any hier elements that need changes here             -->
<!-- The original in dbhierx.mod must be turned off in             -->
<!-- the driver file customdb3 using the module IGNORE feature     -->

<!-- In appendix, remove tocchap             -->
<!ENTITY % local.appendix.attrib "">
<!ENTITY % appendix.role.attrib "%role.attrib;">
<!ELEMENT appendix ((%bookcomponent.title.content;),
		(%bookcomponent.content;))>
<!ATTLIST appendix
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%appendix.role.attrib;
		%local.appendix.attrib;
>

<!-- book element content model changed to be more restrictive -->
<!ENTITY % local.book.attrib "">
<!ENTITY % book.role.attrib "%role.attrib;">
<!-- In book, remove %article.class;, dedication, lot, bibliography  -->
<!ELEMENT book ((%div.title.content;)?, bookinfo?, toc?, 
		(glossary|preface)*,
		(((%chapter.class;)+, reference*) | part+ 
		| reference+ ), 
		(%appendix.class;)*, glossary*, index*,
		toc?)>

<!-- FPI: SGML formal public identifier -->

<!ATTLIST book		fpi		CDATA		#IMPLIED
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%book.role.attrib;
		%local.book.attrib;
>

<!-- In bookinfo, remove subjectset, keywordset, itermset, and bookbiblio -->
<!-- Note that bibliocomponent.mix is reduced a bit  -->
<!ENTITY % local.bookinfo.attrib "">
<!ENTITY % bookinfo.role.attrib "%role.attrib;">
<!ELEMENT bookinfo ((graphic | legalnotice | modespec
                | %bibliocomponent.mix; )+)>

<!-- Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
		Appendixes, References, GLossary, Bibliography, and indexes
		comprising the Book, in the order of their appearance -->

<!ATTLIST bookinfo
		contents	IDREFS		#IMPLIED
		%common.attrib;
		%bookinfo.role.attrib;
		%local.bookinfo.attrib;
>

<!-- Redefine chapter to remove index, bibliography, tocchap        -->
<!ENTITY % local.chapter.attrib "">
<!ENTITY % chapter.role.attrib "%role.attrib;">
<!ELEMENT chapter ((%bookcomponent.title.content;), 
		(%bookcomponent.content;), (glossary)*)>
<!ATTLIST chapter
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%chapter.role.attrib;
		%local.chapter.attrib;
>

<!--    Redefine sect1 to remove simplesect                            -->

<!ENTITY % local.sect1.attrib "">
<!ENTITY % sect1.role.attrib "%role.attrib;">
<!ELEMENT sect1 (sect1info?, (%sect.title.content;), (%nav.class;)*,
		(((%divcomponent.mix;)+, 
		((%refentry.class;)* | sect2* ))
		| (%refentry.class;)+ | sect2+ ), (%nav.class;)*)>

<!ATTLIST sect1
		renderas	(sect2
				|sect3
				|sect4
				|sect5)		#IMPLIED
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%sect1.role.attrib;
		%local.sect1.attrib;
>

<!--    Redefine sect2 to remove simplesect                            -->

<!ENTITY % local.sect2.attrib "">
<!ENTITY % sect2.role.attrib "%role.attrib;">
<!ELEMENT sect2 (sect2info?, (%sect.title.content;), (%nav.class;)*,
		(((%divcomponent.mix;)+, 
		((%refentry.class;)* | sect3* ))
		| (%refentry.class;)+ | sect3+ ), (%nav.class;)*)>

<!ATTLIST sect2
		renderas	(sect1
				|sect3
				|sect4
				|sect5)		#IMPLIED
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%sect2.role.attrib;
		%local.sect2.attrib;
>

<!--    Redefine sect3 to remove simplesect                            -->

<!ENTITY % local.sect3.attrib "">
<!ENTITY % sect3.role.attrib "%role.attrib;">
<!ELEMENT sect3 (sect3info?, (%sect.title.content;), (%nav.class;)*,
		(((%divcomponent.mix;)+, 
		((%refentry.class;)* | sect4* ))
		| (%refentry.class;)+ | sect4+ ), (%nav.class;)*)>

<!ATTLIST sect3
		renderas	(sect1
				|sect2
				|sect4
				|sect5)		#IMPLIED
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%sect3.role.attrib;
		%local.sect3.attrib;
>

<!--    Redefine sect4 to remove simplesect                            -->

<!ENTITY % local.sect4.attrib "">
<!ENTITY % sect4.role.attrib "%role.attrib;">
<!ELEMENT sect4 (sect4info?, (%sect.title.content;), (%nav.class;)*,
		(((%divcomponent.mix;)+, 
		((%refentry.class;)* | sect5* ))
		| (%refentry.class;)+ | sect5+ ), (%nav.class;)*)>

<!ATTLIST sect4
		renderas	(sect1
				|sect2
				|sect3
				|sect5)		#IMPLIED
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%sect4.role.attrib;
		%local.sect4.attrib;
>

<!--    Redefine sect5 to remove simplesect                            -->

<!ENTITY % local.sect5.attrib "">
<!ENTITY % sect5.role.attrib "%role.attrib;">
<!ELEMENT sect5 (sect5info?, (%sect.title.content;), (%nav.class;)*,
		(((%divcomponent.mix;)+, ((%refentry.class;)* ))
		| (%refentry.class;)+ ), (%nav.class;)*)>

<!ATTLIST sect5
		renderas	(sect1
				|sect2
				|sect3
				|sect4)		#IMPLIED
		%label.attrib;
		%status.attrib;
		%common.attrib;
		%sect5.role.attrib;
		%local.sect5.attrib;
>

<!-- Redefine these info elements that were in otherinfo.module   -->
<!--    which is IGNOREd in customdb3.dtd                            -->
<!--    Remove subjectset, keywordset, itermset.                  -->
<!--    Note that bibliocomponent.mix is reduced.                 -->

<!ENTITY % local.otherinfo.attrib "">
<!ENTITY % otherinfo.role.attrib "%role.attrib;">
<!ELEMENT docinfo ((graphic | legalnotice | modespec
	| %bibliocomponent.mix;)+)>
<!ATTLIST docinfo
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT sect1info ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST sect1info
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT sect2info ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST sect2info
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT sect3info ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST sect3info
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT sect4info ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST sect4info
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT sect5info ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST sect5info
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT refsect1info ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST refsect1info
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT refsect2info ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST refsect2info
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!ELEMENT refsynopsisdivinfo ((graphic | legalnotice | modespec 
	| %bibliocomponent.mix;)+)>
<!ATTLIST refsynopsisdivinfo
		%common.attrib;
		%otherinfo.role.attrib;
		%local.otherinfo.attrib;
>

<!-- glossary element modified to remove bibliography  -->
<!ENTITY % local.glossary.attrib "">
<!ENTITY % glossary.role.attrib "%role.attrib;">
<!ELEMENT glossary ((%bookcomponent.title.content;)?, (%component.mix;)*,
		(glossdiv+ | glossentry+))>
<!ATTLIST glossary
		%status.attrib;
		%common.attrib;
		%glossary.role.attrib;
		%local.glossary.attrib;
>

<!-- refsect2  element modified to remove refsect3      -->
<!ENTITY % local.refsect2.attrib "">
<!ENTITY % refsect2.role.attrib "%role.attrib;">
<!ELEMENT refsect2 (refsect2info?, (%refsect.title.content;),
	((%refcomponent.mix;)+) )>
<!ATTLIST refsect2
		%status.attrib;
		%common.attrib;
		%refsect2.role.attrib;
		%local.refsect2.attrib;
>

<!-- toc and index element redefined to be simple placeholder for authors -->
<![%authorelems;[
<!ELEMENT toc (#PCDATA)>
<!ELEMENT index (#PCDATA)>
]]>

<!-- Redefine refnamediv to remove refclass  -->
<!ENTITY % local.refnamediv.attrib "">
<!ENTITY % refnamediv.role.attrib "%role.attrib;">
<!ELEMENT refnamediv (refdescriptor?, refname+, refpurpose, 
		(comment|%link.char.class;)*)>
<!ATTLIST refnamediv
		%common.attrib;
		%refnamediv.role.attrib;
		%local.refnamediv.attrib;
>