<!-- Generator DTD for use with The Doomsday Book Name Generator -->
<!ELEMENT GENERATOR (RULESET*, LIST*)>
<!ELEMENT RULESET (CATEGORY*, RULE*)>
<!ELEMENT CATEGORY EMPTY>
<!ELEMENT RULE (GETLIST | SPACE | HYPHEN | CR | GETRULE)+>
<!ELEMENT GETLIST EMPTY>
<!ELEMENT SPACE EMPTY>
<!ELEMENT HYPHEN EMPTY>
<!ELEMENT CR EMPTY>
<!ELEMENT GETRULE EMPTY>
<!ELEMENT LIST (VALUE+)>
<!ELEMENT VALUE (#PCDATA | SUBVALUE)*>
<!ELEMENT SUBVALUE (#PCDATA)>

<!ATTLIST RULESET
  id     ID    #REQUIRED
  title  CDATA #REQUIRED
  usage  (public | private | final) "private"
>
<!ATTLIST CATEGORY
  title  CDATA #REQUIRED
>
<!ATTLIST RULE
  weight CDATA "1"
>
<!ATTLIST GETLIST
  idref  CDATA #REQUIRED
  title  CDATA #REQUIRED
>
<!ATTLIST GETRULE
  idref  CDATA #REQUIRED
  title  CDATA #REQUIRED
>
<!ATTLIST LIST
  id     ID    #REQUIRED
  title  CDATA #REQUIRED
>
<!ATTLIST VALUE
  weight CDATA "1"
>
<!ATTLIST SUBVALUE
  type   CDATA #REQUIRED
>

<!-- unsupported -->
<!ELEMENT VARMOD EMPTY>
<!ELEMENT ROLL EMPTY>
<!ELEMENT IF ANY>
<!ELEMENT WHILE ANY>

<!ATTLIST VARMOD
  type   (Set | Add | Subtract | Multiply | Divide) "Set"
  name   CDATA #REQUIRED
  value  CDATA #REQUIRED
>
<!ATTLIST ROLL
  sides  CDATA #REQUIRED
  number CDATA #REQUIRED
  bonus  CDATA #REQUIRED
>
<!ATTLIST IF
  expression CDATA #REQUIRED
>
<!ATTLIST WHILE
  expression CDATA #REQUIRED
>
