sig
  type xml =
      Element of (string * (string * string) list * Xml_light_types.xml list)
    | PCData of string
  type dtd_child =
      DTDTag of string
    | DTDPCData
    | DTDOptional of Xml_light_types.dtd_child
    | DTDZeroOrMore of Xml_light_types.dtd_child
    | DTDOneOrMore of Xml_light_types.dtd_child
    | DTDChoice of Xml_light_types.dtd_child list
    | DTDChildren of Xml_light_types.dtd_child list
  type dtd_element_type =
      DTDEmpty
    | DTDAny
    | DTDChild of Xml_light_types.dtd_child
  type dtd_attr_default =
      DTDDefault of string
    | DTDRequired
    | DTDImplied
    | DTDFixed of string
  type dtd_attr_type =
      DTDCData
    | DTDNMToken
    | DTDEnum of string list
    | DTDID
    | DTDIDRef
  type dtd_item =
      DTDAttribute of string * string * Xml_light_types.dtd_attr_type *
        Xml_light_types.dtd_attr_default
    | DTDElement of string * Xml_light_types.dtd_element_type
  type dtd = Xml_light_types.dtd_item list
end