<!ELEMENT charlist (entitygroups?,mathvariants?,character*)>
<!ELEMENT character (afii?,latex?,varlatex?,mathlatex?,
   Elsevier?,AMS?,APS?,ACS?,AIP?,IEEE?,Wolfram?,Springer?,
   entity*,font*,comment?,surrogate?,bmp?,description) >
<!ATTLIST character 
         id ID #REQUIRED
         dec CDATA "0"
         mode (math|text|mixed|unknown) "unknown"
         type
	 (alphabetic|binaryop|closing|diacritic|large|normal|opening|punctuation|relation|other)  "other"
         image (none) #IMPLIED
>

<!ELEMENT latex     (#PCDATA) ><!-- LaTeX code to produce glyph-->
<!ELEMENT varlatex  (#PCDATA) ><!-- alternative LaTeX code to produce glyph-->
<!ELEMENT mathlatex  (#PCDATA) ><!-- LaTeX code math mode code -->
<!ELEMENT font       EMPTY ><!--possible font name and position -->
<!ELEMENT surrogate       EMPTY >
<!ATTLIST surrogate mathvariant  CDATA #REQUIRED
                    ref IDREF #REQUIRED >
<!ELEMENT bmp       EMPTY >
<!ATTLIST bmp  ref IDREF #REQUIRED >
<!ELEMENT entity     (desc?,htmlsdata?,htmldesc?,
                      comment?,xref?) ><!-- a standard entity name -->
<!ELEMENT Elsevier (desc?,elsrender?)>
      <!-- Elsevier grid point,description, and entity name -->
<!ELEMENT AMS (#PCDATA)><!-- AMS designation -->
<!ELEMENT APS (#PCDATA)><!-- APS designation -->
<!ELEMENT ACS (#PCDATA)><!-- ACS designation -->
<!ELEMENT AIP (#PCDATA)><!-- AIP designation -->
<!ELEMENT IEEE (#PCDATA)><!-- IEEE designation -->
<!ELEMENT Wolfram (#PCDATA)><!-- Wolfram designation -->
<!ATTLIST Wolfram id CDATA #IMPLIED>
<!ELEMENT Springer (#PCDATA)><!-- Springer designation -->

<!ELEMENT description   (#PCDATA) ><!-- Unicode description -->
<!ATTLIST description unicode CDATA #IMPLIED> <!-- unicode release or proposal-->
<!ELEMENT afii      (#PCDATA) ><!-- AFII glyph ID -->
<!ELEMENT htmlsdata  (#PCDATA) >
<!ELEMENT htmldesc   (#PCDATA) >
<!ELEMENT comment   (#PCDATA) >
<!ELEMENT xref   (#PCDATA) >
<!ATTLIST Elsevier
         grid CDATA #REQUIRED
         ent CDATA "">
<!ATTLIST font
         name CDATA #REQUIRED
         pos CDATA #REQUIRED
>

<!ATTLIST entity
         id CDATA #REQUIRED
         set CDATA #REQUIRED
         optional CDATA #IMPLIED
         default CDATA #IMPLIED
>

<!ELEMENT desc       (#PCDATA) >
<!ELEMENT elsrender       (#PCDATA) >

<!ELEMENT entitygroups (group*)>
<!ELEMENT group (set*)>
<!ATTLIST group name CDATA #REQUIRED>

<!ELEMENT set EMPTY>
<!ATTLIST set
  name CDATA #REQUIRED>

<!ELEMENT mathvariants (mathvariant*)>
<!ELEMENT mathvariant EMPTY>
<!ATTLIST mathvariant
  name CDATA #REQUIRED
  description CDATA #REQUIRED>
