<!-- Zu Beginn ein paar Entities, damit die DTD etwas kompakter wird -->
<!-- Attribute, die jedes Element bekommen soll -->
<!ENTITY % coreattrs
	"id 		ID	#IMPLIED
	class 		CDATA	#IMPLIED
	title 		CDATA	#IMPLIED
	xml:lang 	CDATA	#IMPLIED
	style		CDATA	#IMPLIED"
>
<!-- Elemente, die unter section, subsection, etc. stehen duerfen -->
<!ENTITY % alegiances 
  "erw|keyword|img|figure|p|ol|ul|exer|code|progr_out|examp|a|blockquote|cap|div|lkdemo|mct|table"
>

<!-- echte strukturierte Elemente -->
<!ELEMENT chapter (a?, summary?, title, section*)>
<!ELEMENT section (a?, sectiontitle, (%alegiances;|subsection)*)>
<!ELEMENT subsection (a?, subsectiontitle, (%alegiances;|subsubsection)*)>
<!ELEMENT subsubsection (a?, subsubsectiontitle, (%alegiances;|subsubsubsection)*)>
<!ELEMENT subsubsubsection (a?, subsubsubsectiontitle, (%alegiances;|subsubsubsubsection)*)>
<!ELEMENT subsubsubsubsection (a?, subsubsubsubsectiontitle, (%alegiances;)*)>
<!ELEMENT ul (li+)>
<!ELEMENT ol (li+)>
<!ELEMENT lkdemo (a)>
<!ELEMENT mct (mct_question, mct_question*)>
<!ELEMENT mct_question (mct_intro, choice, choice*)>
<!ELEMENT img EMPTY>
<!ELEMENT figure (cap)>
<!ELEMENT code EMPTY>
<!ELEMENT progr_out EMPTY>
<!ELEMENT examp (#PCDATA)>

<!-- Tabellen werden aus XHTML (allerdings etwas vereinfacht) nachentwickelt -->
<!ELEMENT table (caption?, (col* | colgroup*),((thead?, tfoot?, tbody+)|(tr+)))>
<!ELEMENT caption ANY>
<!ELEMENT th ANY>
<!ELEMENT td ANY>
<!ELEMENT tr (td | th)+>
<!ELEMENT col EMPTY>
<!ELEMENT colgroup (col*)>
<!ELEMENT tbody (tr+)>
<!ELEMENT thead (tr+)>
<!ELEMENT tfoot (tr+)>
<!-- Da es fuer Attribute kein ANY gibt folgt eine erschlagende Liste von Attributen -->
        <!-- die letzten 3 sind nicht in XHTML bzw. Legacy und fliegen demnaechst raus -->
<!ATTLIST table
	%coreattrs;
	border 		CDATA	#IMPLIED
	cellpadding 	CDATA	#IMPLIED
	cellspacing 	CDATA	#IMPLIED
	datapagesize 	CDATA	#IMPLIED
	frame 		CDATA	#IMPLIED
	rules 		CDATA	#IMPLIED
	summary 	CDATA	#IMPLIED
	width 		CDATA	#IMPLIED
  
	align       	CDATA	#IMPLIED
  	bgcolor       	CDATA	#IMPLIED
  	bordercolor 	CDATA	#IMPLIED>
        <!-- die letzten 4 sind nicht in XHTML bzw. Legacy und fliegen demnaechst raus -->
<!ATTLIST caption
	%coreattrs;

	align       	CDATA	#IMPLIED>
        <!-- das letzte Attribut ist  Legacy und fliegt demnaechst raus -->
<!ATTLIST th
	%coreattrs;
	abbr 		CDATA	#IMPLIED
	align 		CDATA	#IMPLIED
	axis 		CDATA	#IMPLIED
	char		CDATA	#IMPLIED
	charoff		CDATA	#IMPLIED
	colspan		CDATA	#IMPLIED
	headers		CDATA	#IMPLIED
	rowspan		CDATA	#IMPLIED
	scope		CDATA	#IMPLIED
	valign		CDATA	#IMPLIED

	bgcolor 	CDATA	#IMPLIED
	height		CDATA	#IMPLIED
	nowrap		CDATA	#IMPLIED
	width		CDATA	#IMPLIED>
        <!-- die letzten 4 sind nicht in XHTML bzw. Legacy und fliegen demnaechst raus -->
<!ATTLIST td
	%coreattrs;
	abbr 		CDATA	#IMPLIED
	align 		CDATA	#IMPLIED
	axis 		CDATA	#IMPLIED
	char		CDATA	#IMPLIED
	charoff		CDATA	#IMPLIED
	colspan		CDATA	#IMPLIED
	headers		CDATA	#IMPLIED
	rowspan		CDATA	#IMPLIED
	scope		CDATA	#IMPLIED
	valign		CDATA	#IMPLIED
	
	bgcolor 	CDATA	#IMPLIED
	height		CDATA	#IMPLIED
	nowrap		CDATA	#IMPLIED
	width		CDATA	#IMPLIED>
        <!-- die letzten 2 sind nicht in XHTML bzw. Legacy und fliegen demnaechst raus -->
<!ATTLIST tr  
	%coreattrs;
	align		CDATA	#IMPLIED
	char		CDATA	#IMPLIED
	charoff		CDATA	#IMPLIED
	valign		CDATA	#IMPLIED
       
	bgcolor 	CDATA	#IMPLIED
        bordercolor 	CDATA	#IMPLIED>
<!ATTLIST col
	%coreattrs;
	align 		CDATA   #IMPLIED
	char 		CDATA   #IMPLIED
	charoff		CDATA   #IMPLIED
	span		CDATA   #IMPLIED
	valign		CDATA   #IMPLIED
	width		CDATA   #IMPLIED>
<!ATTLIST colgroup
	%coreattrs;
	align 		CDATA   #IMPLIED
	char 		CDATA   #IMPLIED
	charoff		CDATA   #IMPLIED
	span		CDATA   #IMPLIED
	valign		CDATA   #IMPLIED
	width		CDATA   #IMPLIED>
<!ATTLIST tbody
	%coreattrs;
	align 		CDATA   #IMPLIED
	char 		CDATA   #IMPLIED
	charoff		CDATA   #IMPLIED
	valign		CDATA   #IMPLIED>
<!ATTLIST thead
	%coreattrs;
	align 		CDATA   #IMPLIED
	char 		CDATA   #IMPLIED
	charoff		CDATA   #IMPLIED
	valign		CDATA   #IMPLIED>
<!ATTLIST tfoot
	%coreattrs;
	align 		CDATA   #IMPLIED
	char 		CDATA   #IMPLIED
	charoff		CDATA   #IMPLIED
	valign		CDATA   #IMPLIED>
<!-- Ende der Tabellen -->

<!-- Elemente, die nur textuellen Inhalt haben -->
<!ELEMENT title (#PCDATA)>
<!ELEMENT sectiontitle (#PCDATA)>
<!ELEMENT subsectiontitle (#PCDATA)>
<!ELEMENT subsubsectiontitle (#PCDATA)>
<!ELEMENT subsubsubsectiontitle (#PCDATA)>
<!ELEMENT subsubsubsubsectiontitle (#PCDATA)>
<!ELEMENT mct_intro (#PCDATA)>
<!ELEMENT a (#PCDATA)>
<!ELEMENT biblio (#PCDATA)>
<!ELEMENT blockquote (#PCDATA)>
<!ELEMENT choice (#PCDATA)>
<!ELEMENT cite (#PCDATA)>
<!ELEMENT em (#PCDATA)>
<!-- Elemente, die nur textuellen Inhalt haben und starken Layout Charakter besitzen -->
<!ELEMENT i (#PCDATA)>
<!ELEMENT pre (#PCDATA)>
<!ELEMENT b (#PCDATA)>
<!ELEMENT keyword (#PCDATA)>
<!ELEMENT erw (#PCDATA)>
<!ELEMENT font (#PCDATA)>
<!ELEMENT hint (#PCDATA)>
<!ELEMENT summary (#PCDATA)>

<!-- textueller Inhalt und diverse andere sind bei diesen erlaubt -->
<!ELEMENT cap ANY>
<!ELEMENT div ANY>
<!ELEMENT exer ANY>
<!ELEMENT gloss ANY>
<!ELEMENT li ANY>
<!ELEMENT p ANY>


<!ATTLIST a
	%coreattrs;
	name		CDATA	#IMPLIED
       	target		CDATA	#IMPLIED
       	href		CDATA	#IMPLIED>
<!ATTLIST img
	%coreattrs;
	src		CDATA	#IMPLIED
       	width		CDATA	#IMPLIED
       	height		CDATA	#IMPLIED
       	border		CDATA	#IMPLIED
       	align		CDATA	#IMPLIED
       	hspace		CDATA	#IMPLIED
       	vspace		CDATA	#IMPLIED>
<!ATTLIST figure
	%coreattrs;
	src		CDATA	#IMPLIED
       	width		CDATA	#IMPLIED
       	height		CDATA	#IMPLIED
       	border		CDATA	#IMPLIED
       	align		CDATA	#IMPLIED
       	hspace		CDATA	#IMPLIED
       	vspace		CDATA	#IMPLIED>
<!ATTLIST code
	%coreattrs;
	src		CDATA	#IMPLIED>
<!ATTLIST progr_out
	%coreattrs;
	src		CDATA	#IMPLIED>
<!ATTLIST cite
	%coreattrs;
	key		CDATA	#IMPLIED>
<!ATTLIST gloss
	%coreattrs;
	key		CDATA	#IMPLIED>
<!ATTLIST biblio
	%coreattrs;
	key		CDATA	#IMPLIED>
<!ATTLIST ol
	%coreattrs;
	start		CDATA	#IMPLIED>
<!ATTLIST choice
	%coreattrs;
	answer		CDATA	#REQUIRED>
<!ATTLIST font
	%coreattrs;
	color		CDATA	#IMPLIED>
<!ATTLIST div
	%coreattrs;
	align		CDATA	#IMPLIED
        height		CDATA	#IMPLIED>
<!ATTLIST b %coreattrs; >
<!ATTLIST blockquote %coreattrs; >
<!ATTLIST cap %coreattrs; >
<!ATTLIST chapter %coreattrs; >
<!ATTLIST em %coreattrs; >
<!ATTLIST erw %coreattrs; >
<!ATTLIST examp %coreattrs; >
<!ATTLIST exer %coreattrs; >
<!ATTLIST i %coreattrs; >
<!ATTLIST keyword %coreattrs; >
<!ATTLIST li %coreattrs; >
<!ATTLIST lkdemo %coreattrs; >
<!ATTLIST mct %coreattrs; >
<!ATTLIST mct_intro %coreattrs; >
<!ATTLIST mct_question %coreattrs; >
<!ATTLIST p %coreattrs; >
<!ATTLIST pre %coreattrs; >
<!ATTLIST section %coreattrs; >
<!ATTLIST sectiontitle %coreattrs; >
<!ATTLIST subsection %coreattrs; >
<!ATTLIST subsectiontitle %coreattrs; >
<!ATTLIST subsubsection %coreattrs; >
<!ATTLIST subsubsectiontitle %coreattrs; >
<!ATTLIST subsubsubsection %coreattrs; >
<!ATTLIST subsubsubsectiontitle %coreattrs; >
<!ATTLIST subsubsubsubsection %coreattrs; >
<!ATTLIST subsubsubsubsectiontitle %coreattrs; >
<!ATTLIST summary %coreattrs; >
<!ATTLIST title %coreattrs; >
<!ATTLIST ul %coreattrs; >
