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