Grammar Reference > Eduction Grammar DTD

Eduction Grammar DTD
The XML DTD describing the Eduction grammar (such as, edk.dtd) is as follows:
<!ELEMENT grammars (include*, grammar*)>
<!ATTLIST grammars
  version CDATA #IMPLIED
  case (sensitive|insensitive|inherited) "inherited"
  debug (true|false) "false"
  >
<!ELEMENT include (publish*)>
<!ATTLIST include
  path CDATA #REQUIRED
  type (private|public) "public"
>
<!ELEMENT publish EMPTY>
<!ATTLIST publish
  name CDATA #IMPLIED
>
<!ELEMENT grammar (extern*,entity+)>
<!ATTLIST grammar
  name CDATA #REQUIRED
  case (sensitive|insensitive|inherited) "inherited"
  extend (append|replace|disallow) "disallow"
  debug (true|false|inherited) "inherited"
>
<!ELEMENT extern EMPTY>
<!ATTLIST extern
  name CDATA #REQUIRED
>
<!ELEMENT entity (entry*,pattern*)+>
<!ATTLIST entity
  name CDATA #REQUIRED
  type (private|public) "private"
  case (sensitive|insensitive|inherited) "inherited"
  extend (append|replace|disallow) "disallow"
  debug (true|false|inherited) "inherited"
>
<!ELEMENT entry (headword?,synonym*)>
<!ATTLIST entry
  headword CDATA #IMPLIED
  score CDATA "1"
  case (sensitive|insensitive|inherited) "inherited"
  debug (true|false|inherited) "inherited"
>
<!ELEMENT headword (#PCDATA)>
<!ATTLIST headword
  score CDATA "1"
  case (sensitive|insensitive|inherited) "inherited"
>
<!ELEMENT synonym (#PCDATA)>
<!ATTLIST synonym
  case (sensitive|insensitive|inherited) "inherited"
>
<!ELEMENT pattern (#PCDATA)>
<!ATTLIST pattern
  score CDATA "1"
  case (sensitive|insensitive|inherited) "inherited"
  replace CDATA #IMPLIED
  insert_before CDATA #IMPLIED
  insert_after CDATA #IMPLIED
>