<!-- This is the DTD for eric5's project file version 5.0 -->

<!-- This is a copy of the Basic DTD -->
<!ELEMENT   int         (#PCDATA)>
<!ELEMENT   long        (#PCDATA)>
<!ELEMENT   float       (#PCDATA)>
<!ELEMENT   complex     (#PCDATA)>
<!ELEMENT   bool        (#PCDATA)>
<!ELEMENT   string      (#PCDATA)>
<!ELEMENT   bytes       (#PCDATA)>
<!ELEMENT   bytearray   (#PCDATA)>
<!ELEMENT   none        EMPTY>

<!ELEMENT   pickle      (#PCDATA)>
<!ATTLIST   pickle
    method      CDATA   #REQUIRED
    encoding    CDATA   #REQUIRED>

<!ELEMENT   key         (int | long | float | complex | string | bytes)>
<!ELEMENT   value       (int | long | float | complex | bool | string | bytes | 
    bytearray | none | dict | tuple | list | set | frozenset | pickle)>

<!ELEMENT   dict        (key, value)*>

<!ELEMENT   tuple       (int | long | float | complex | bool | string | bytes | 
    bytearray | none | dict | tuple | list | set | frozenset | pickle)*>

<!ELEMENT   list        (int | long | float | complex | bool | string | bytes | 
    bytearray | none | dict | tuple | list | set | frozenset | pickle)*>

<!ELEMENT   set         (int | long | float | complex | bool | string | bytes | 
    bytearray | none | dict | tuple | list | set | frozenset | pickle)*>

<!ELEMENT   frozenset   (int | long | float | complex | bool | string | bytes | 
    bytearray | none | dict | tuple | list | set | frozenset | pickle)*>
<!-- End of the Basic DTD -->

<!ELEMENT   ProgLanguage        (#PCDATA)>
<!ATTLIST   ProgLanguage
    mixed       CDATA   #REQUIRED>

<!ELEMENT   ProjectType         (#PCDATA)>

<!ELEMENT   Description         (#PCDATA)>

<!ELEMENT   Version             (#PCDATA)>

<!ELEMENT   Author              (#PCDATA)>

<!ELEMENT   Email               (#PCDATA)>

<!ELEMENT   TranslationPattern  (#PCDATA)>

<!ELEMENT   TranslationsBinPath (#PCDATA)>

<!ELEMENT   Source              (#PCDATA)>

<!ELEMENT   Sources             (Source*)>

<!ELEMENT   Form                (#PCDATA)>

<!ELEMENT   Forms               (Form*)>

<!ELEMENT   Translation         (#PCDATA)>

<!ELEMENT   Translations        (Translation*)>

<!ELEMENT   TranslationException  (#PCDATA)>

<!ELEMENT   TranslationExceptions (TranslationException*)>

<!ELEMENT   Resource            (#PCDATA)>

<!ELEMENT   Resources           (Resource*)>

<!ELEMENT   Interface           (#PCDATA)>

<!ELEMENT   Interfaces          (Interface*)>

<!ELEMENT   Other               (#PCDATA)>

<!ELEMENT   Others              (Other*)>

<!ELEMENT   MainScript          (#PCDATA)>

<!ELEMENT   VcsType             (#PCDATA)>
<!ELEMENT   VcsOptions          (dict)>
<!ELEMENT   VcsOtherData        (dict)>

<!ELEMENT   Vcs                 (VcsType?,
                                 VcsOptions?,
                                 VcsOtherData?)>

<!ELEMENT   FiletypeAssociation EMPTY>
<!ATTLIST   FiletypeAssociation
    pattern     CDATA   #REQUIRED
    type        CDATA   #REQUIRED>

<!ELEMENT   FiletypeAssociations (FiletypeAssociation*)>

<!ELEMENT   LexerAssociation EMPTY>
<!ATTLIST   LexerAssociation
    pattern     CDATA   #REQUIRED
    lexer       CDATA   #REQUIRED>

<!ELEMENT   LexerAssociations (LexerAssociation*)>

<!ELEMENT   ProjectTypeSpecificData (dict)>

<!ELEMENT   ProjectTypeSpecific (ExtraData?)>

<!ELEMENT   DocumentationParams (dict)>

<!ELEMENT   Documentation       (DocumentationParams?)>

<!ELEMENT   PackagersParams     (dict)>

<!ELEMENT   Packagers           (PackagersParams?)>

<!ELEMENT   CheckersParams      (dict)>

<!ELEMENT   Checkers            (CheckersParams?)>

<!ELEMENT   OtherToolsParams    (dict)>

<!ELEMENT   OtherTools          (OtherToolsParams?)>

<!ELEMENT   Language            (#PCDATA)>

<!ELEMENT   ProjectWordList     (#PCDATA)>

<!ELEMENT   ProjectExcludeList  (#PCDATA)>

<!ELEMENT   Hash                (#PCDATA)>

<!ELEMENT   Project             (Language,
                                 ProjectWordList?,
                                 ProjectExcludeList?,
                                 Hash,
                                 ProgLanguage,
                                 ProjectType,
                                 Description?,
                                 Version?,
                                 Author?,
                                 Email?,
                                 TranslationPattern?,
                                 TranslationsBinPath?,
                                 Sources,
                                 Forms,
                                 Translations,
                                 TranslationExceptions?,
                                 Resources,
                                 Interfaces,
                                 Others,
                                 MainScript?,
                                 Vcs,
                                 FiletypeAssociations,
                                 LexerAssociations?,
                                 Extra?,
                                 Documentation?,
                                 Packagers?,
                                 Checkers?,
                                 OtherTools?)>
<!ATTLIST   Project
    version     CDATA   #REQUIRED>
