<!-- edited with XML Spy v2.5 NT  - http://www.xmlspy.com -->
<!-- ...................................................................... -->
<!-- Test information pool module V0.1 .................................... -->
<!-- File testpool.dtd .................................................... -->
<!-- ...................................................................... -->
<!-- Entities for attributes and attribute components ..................... -->
<!ENTITY % attribute.kid "kid	                CDATA		#IMPLIED">
<!ENTITY % attribute.descr "description	CDATA		#IMPLIED">
<!ENTITY % attribute.attrib "class		CDATA		#REQUIRED">
<!ENTITY % test.attrib "id		ID		#REQUIRED">
<!ENTITY % testform.attrib "idref		IDREF		#REQUIRED">
<!ENTITY % subtest.attrib "id		ID		#REQUIRED">
<!ENTITY % subtestform.attrib "idref		IDREF		#REQUIRED">
<!ENTITY % pu.attrib "id		ID		#IMPLIED">
<!ENTITY % puform.attrib "idref		IDREF		#REQUIRED">
<!ENTITY % item.attrib "id		ID		#IMPLIED">
<!ENTITY % itemref.attrib "idref		IDREF		#REQUIRED">
<!ENTITY % list.attrib "id		ID		#IMPLIED">
<!ENTITY % listref.attrib "idref		IDREF		#REQUIRED">
<!-- ...................................................................... -->
<!-- Entities for element classes ......................................... -->
<!ENTITY % attribute.class "attribute">
<!ENTITY % attribute.description "attribute">
<!ENTITY % attribute.keyid "attribute">
<!ENTITY % scoringtable.class "scoringtable">
<!ENTITY % fillinrightanswer.class "fillinrightanswer">
<!ENTITY % puf.class "performanceunitform">
<!ENTITY % item.class "(itemmc1)*,(itemmcn)*,(itemmcnexplicit)*,(itemrating)*,(itemfillin)*,(itemessay)*,(itemtruefalse)*,(itemmc1open)*,(itemmcnopen)*,(itemlistrating)*,(itemlistchoice)*">
<!ENTITY % mc.class "(%attribute.class;)+,(answer)+">
<!ENTITY % fillin.class "(%attribute.class;)+,(answerfillin)+">
<!ENTITY % essay.class "(%attribute.class;)+,answer,(evaluation)+">
<!ENTITY % listrating.class "(%attribute.class;)+,(answerlistrating)+">
<!ENTITY % listchoice.class "(%attribute.class;)+,(listentry)+,(answerlistchoice)+">
<!-- ...................................................................... -->
<!-- PerformanceUnitForm .................................................. -->
<!ELEMENT performanceunitform (testitem)+>
<!ATTLIST performanceunitform %puform.attrib;>
<!-- ...................................................................... -->
<!-- Item ................................................................. -->
<!ELEMENT testitem EMPTY>
<!ATTLIST testitem %itemref.attrib;>
<!-- ...................................................................... -->
<!-- Answer ............................................................... -->
<!ELEMENT answer (%attribute.class;)+>
<!ELEMENT answerfillin ((%attribute.class;)+,(%fillinrightanswer.class;)+)>
<!ELEMENT answerlistrating ((%attribute.class;)+,(answer)+)>
<!ELEMENT answerlistchoice (%attribute.class;)+>
<!ATTLIST answerlistchoice %listref.attrib;>
<!ELEMENT listentry (#PCDATA)>
<!ATTLIST listentry %list.attrib;>
<!ATTLIST listentry %attribute.kid;>
<!ELEMENT %fillinrightanswer.class; (%attribute.class;)+>
<!-- ...................................................................... -->
<!--.........Evualuation for Essay ......................
.......Criterias for Evaluation defined by Author.........-->
<!ELEMENT evaluation (%mc.class;)>
<!-- End of Test information pool module V0.1 ............................. -->
<!-- ...................................................................... -->
