<!--    $Id: kformula.dtd 202993 2003-01-26 21:30:12Z kuettler $

This is an XML document type definition (DTD) for the KFormula 1.3 XML files

ChangeLog:
* Initial version by Heinrich Kuettler <heinrich.kuettler@gmx.de>.
-->

<!-- All but SEQUENCE: -->
<!ENTITY % element "BRACKET | FRACTION | INDEX | MATRIX | ROOT |
NAMESEQUENCE | SPACE | TEXT | EMPTY | SYMBOL | OVERLINE | UNDERLINE |
MULTILINE">

<!ELEMENT KFORMULA (FORMULASETTINGS?, FORMULA*)>
<!ATTLIST KFORMULA
    VERSION CDATA  #IMPLIED
    BASESIZE CDATA #IMPLIED
>

<!ELEMENT FORMULASETTINGS EMPTY>

<!ELEMENT FORMULA (%element;)*>
<!ATTLIST FORMULA
    VERSION CDATA  #IMPLIED
    BASESIZE CDATA #IMPLIED
>

<!ELEMENT BRACKET (CONTENT)>
<!ATTLIST BRACKET
    LEFT  CDATA #REQUIRED
    RIGHT CDATA #REQUIRED
>

<!ELEMENT CONTENT (SEQUENCE)>

<!ELEMENT FRACTION (NUMERATOR,DENOMINATOR)>
<!ATTLIST FRACTION
    NOLINE CDATA #IMPLIED
>

<!ELEMENT NUMERATOR (SEQUENCE)>
<!ELEMENT DENOMINATOR (SEQUENCE)>

<!ELEMENT INDEX (CONTENT,UPPERLEFT?,UPPERMIDDLE?,UPPERRIGHT?,LOWERLEFT?,LOWERMIDDLE?,LOWERRIGHT?)>

<!ELEMENT UPPERLEFT   (SEQUENCE)>
<!ELEMENT UPPERMIDDLE (SEQUENCE)>
<!ELEMENT UPPERRIGHT  (SEQUENCE)>
<!ELEMENT LOWERLEFT   (SEQUENCE)>
<!ELEMENT LOWERMIDDLE (SEQUENCE)>
<!ELEMENT LOWERRIGHT  (SEQUENCE)>

<!ELEMENT MATRIX (%element;)*>
<!ATTLIST MATRIX
    ROWS CDATA #REQUIRED
    COLUMNS CDATA #REQUIRED
>

<!ELEMENT ROOT (CONTENT,ROOTINDEX?)>

<!ELEMENT ROOTINDEX   (SEQUENCE)>

<!ELEMENT SEQUENCE (%element;)*>

<!ELEMENT NAMESEQUENCE (TEXT)*>

<!ELEMENT SPACE EMPTY>
<!ATTLIST SPACE
    WIDTH CDATA #REQUIRED
    TAB CDATA #IMPLIED
>

<!ELEMENT TEXT EMPTY>
<!ATTLIST TEXT
    CHAR CDATA #REQUIRED
    SYMBOL CDATA #IMPLIED
    STYLE CDATA #IMPLIED
    FAMILY CDATA #IMPLIED
>

<!ELEMENT EMPTY EMPTY>

<!ELEMENT SYMBOL (CONTENT,LOWER?,UPPER?)>
<!ATTLIST SYMBOL
    TYPE CDATA #REQUIRED
>

<!ELEMENT OVERLINE (CONTENT)>
<!ELEMENT UNDERLINE (CONTENT)>

<!ELEMENT MULTILINE (SEQUENCE*)>
<!ATTLIST MULTILINE
    LINES CDATA #REQUIRED
>

