<?xml version="1.0" encoding="ISO-8859-1" ?>

<!--
        @author         Peter Heilbronn
        @description    the index including several grouped items
-->

<!ENTITY % abstract PUBLIC "-//MXKS//ABSTRACT//DTD//DE" "abstract.dtd" >
%abstract;


<!-- description of a set of ducuments -->
<!ELEMENT Index (Abstract, IndexParam*, DocRef*, IndexGroupRef*, IndexGroup+)>
<!ATTLIST Index
	dest		CDATA #IMPLIED
	base		CDATA #IMPLIED
	srcbase		CDATA #IMPLIED
>

<!--
  dest		optional URL of the result index file on target system
  base		relative path to the root of document tree, to create the target paths
given relative

	Abstract:   desciption of the index document itself
	IndexGroup: the sets of grouped index items
-->

<!ELEMENT DocRef EMPTY>
<!ATTLIST DocRef
	title		CDATA #REQUIRED
	link		CDATA #REQUIRED
	img		CDATA #IMPLIED
	info		CDATA #IMPLIED
>

<!ELEMENT IndexParam EMPTY>
<!ATTLIST IndexParam
	name CDATA #REQUIRED
	value CDATA #REQUIRED
>

<!ELEMENT IndexGroup (p?,P?,DocInfo*,IndexGroupColumns?,(IndexGroupRef*|IndexItemRef*|IndexItem*|IndexGroup*)*)>
<!ATTLIST IndexGroup
	title		ID #REQUIRED
	id			CDATA #IMPLIED
	label		CDATA #IMPLIED
	description	CDATA #IMPLIED
	link		CDATA #IMPLIED
	anchor		CDATA #IMPLIED
	lastupdate	CDATA #IMPLIED
	type		(multicolumn | single) "single"
>

<!ELEMENT IndexGroupColumns (IndexGroupRow+,IndexGroupColumn+)>

<!ELEMENT IndexGroupRow EMPTY>
<!ATTLIST IndexGroupRow
	title	CDATA #REQUIRED
>	

<!ELEMENT IndexGroupColumn EMPTY>
<!ATTLIST IndexGroupColumn
	title		CDATA 	#REQUIRED
	category 	CDATA	#REQUIRED
	style		CDATA	#IMPLIED
>	

<!--
	link		an optional link to an extern site
	anchor		an optional name of an anchor to this group
-->

<!ELEMENT IndexGroupRef EMPTY>
<!ATTLIST IndexGroupRef
	src		CDATA #REQUIRED
	title		CDATA #REQUIRED
	mode		(copy | merge) 	"copy"
>

<!ELEMENT IndexItemRef EMPTY>
<!ATTLIST IndexItemRef
	src			CDATA #REQUIRED
	name		CDATA #IMPLIED
>
<!--
	here we copy a special subtree of another index file into this index file
-->

<!ELEMENT IndexItem (Abstract?,IndexItemRef?,DocInfo*,Image*,p?,P?,IndexItem*)>
<!ATTLIST IndexItem
	src		CDATA #IMPLIED
	dest		CDATA #REQUIRED
	base		CDATA #IMPLIED

	style		(normal | main | actual)	 "normal"

	stylesheet	CDATA #IMPLIED
	buildmode	(nobuild | build) "build"

	origbuildmode	(nobuild | build) "nobuild"
	origlinkmode	(on | off)	"off"
	origsrc  	CDATA #IMPLIED
	origdest 	CDATA #IMPLIED
	origbase	CDATA #IMPLIED
	origstylesheet	CDATA #IMPLIED

	category	CDATA #IMPLIED
	lastupdate	CDATA #IMPLIED
>

<!--
	style 		'main' says, the this Item should be highlighted
	origlinkmode	'on' the excerpt and conspectus file shold be inter linked with
			the original file, the origbuildmode should be 'build'
-->



<!ELEMENT DocInfo (P?) >
<!ATTLIST DocInfo
	name	(conspect|structure|label|thumb|package|criticism|pictures|images|scripts|dir|file) #REQUIRED
	src 	CDATA #REQUIRED
	dest 	CDATA #REQUIRED
	base 	CDATA #IMPLIED
	buildmode	(nobuild | build | copy | dircopy | dirpack) "nobuild"
	stylesheet 	CDATA #IMPLIED
	lastupdate	CDATA #IMPLIED
	description CDATA #IMPLIED
	category	CDATA #IMPLIED
>

<!ELEMENT Image EMPTY >
<!ATTLIST Image
	name	CDATA #REQUIRED
	src 	CDATA #REQUIRED
	dest 	CDATA #REQUIRED
	alt		CDATA #IMPLIED
	type	(label | thumb) "label"
>

<!ELEMENT P ANY>

<!ELEMENT Ref ANY>
<!ATTLIST Ref
	link 	CDATA	#REQUIRED
>	

<!ELEMENT Cite ANY>

<!-- !ELEMENT Parts EMPTY
	img		CDATA #IMPLIED
	abstract	CDATA #IMPLIED
	seminar-text	CDATA #IMPLIED
-->

