1<!-- Example DTD --> 2 3<!ENTITY % img "MyImage.gif"> 4<!ENTITY % foobar "xxx"> 5 6<!ENTITY foobar "xxx"> 7<!ENTITY outside SYSTEM "entityValue"> 8 9 10<!ELEMENT entry3 ( (variables | (tmp, x)), (record)* , (a*, b,c,d, (e|f)) , (foo)+ ) > 11<!ELEMENT dataset ( variables, ((record)* | tmp) ) > 12 13<!ELEMENT entry1 ( variables, (record)* , (tmp | variable)* , (foo)* ) > 14<!ELEMENT entry0 ( (variables | (tmp, x)), (record)* , (tmp | variable)* , (foo)* ) > 15<!ELEMENT entry2 ( variables, (record)* , (tmp , variable)* , foo ) > 16 17<!ELEMENT tmp ( #PCDATA ) > 18 19 20<!ELEMENT record ( #PCDATA ) > 21<!ELEMENT variable ( #PCDATA ) > 22<!ELEMENT variables ( variable )* > 23 24 25<!ELEMENT entry ( variables, (record)* , tmp ) > 26 27 28<!ATTLIST dataset 29 name CDATA #REQUIRED 30 numRecords CDATA #IMPLIED 31 source CDATA #IMPLIED 32> 33 34<!ATTLIST variables 35 count CDATA #IMPLIED 36> 37 38<!ATTLIST record 39 id CDATA #REQUIRED 40> 41 42 <!-- Allow the name to be specified as an attribute --> 43<!ATTLIST variable 44 type CDATA #IMPLIED 45 levels CDATA #IMPLIED 46 unit CDATA #IMPLIED 47> 48 49<!ATTLIST entry 50 a CDATA #FIXED "fixed a" 51 c (one | two) #IMPLIED 52> 53