<!-- First some entities to mark numeric types in between tags.  Same as NCBI. -->
<!ENTITY % INTEGER "#PCDATA">
<!ENTITY % REAL "#PCDATA">

<!-- Now some entities for numeric attributes. NCBI doesn't define these but we do. -->
<!ENTITY % int "CDATA">
<!ENTITY % float "CDATA">

<!-- And now for the real DAS stuff. -->
<!ELEMENT DAS_GFF (GFF)>
<!ELEMENT NUMBER (%INTEGER;)>
<!ELEMENT GFF (SEGMENT+)>
<!ATTLIST GFF version CDATA #REQUIRED>
<!ATTLIST GFF href CDATA #REQUIRED>
<!ELEMENT SEGMENT (FEATURE+)>
<!ATTLIST SEGMENT id CDATA #REQUIRED>
<!ATTLIST SEGMENT start %INT; #REQUIRED>
<!ATTLIST SEGMENT stop %INT; #REQUIRED>
<!ATTLIST SEGMENT version %FLOAT; #REQUIRED>
<!ATTLIST SEGMENT label CDATA #IMPLIED>
<!ELEMENT FEATURE (TYPE, METHOD, START, END, SCORE, ORIENTATION, PHASE, GROUP?)>
<!ATTLIST FEATURE id CDATA #REQUIRED>
<!ATTLIST FEATURE label CDATA #IMPLIED>
<!ATTLIST FEATURE version CDATA #IMPLIED>
<!ELEMENT TYPE (#PCDATA)>
<!ATTLIST TYPE id CDATA #IMPLIED>
<!ATTLIST TYPE category CDATA #IMPLIED>
<!ATTLIST TYPE reference CDATA "no">
<!ATTLIST TYPE subparts CDATA "no">
<!ELEMENT METHOD (#PCDATA)>
<!ATTLIST METHOD id CDATA #IMPLIED>
<!ELEMENT START (#PCDATA)>
<!ELEMENT END (#PCDATA)>
<!ELEMENT SCORE (#PCDATA)>
<!ELEMENT ORIENTATION (#PCDATA)>
<!ELEMENT PHASE (#PCDATA)>
<!ELEMENT GROUP (NOTE?, LINK?, TARGET?)>
<!ATTLIST GROUP id CDATA #REQUIRED>
<!ELEMENT NOTE (#PCDATA)>
<!ELEMENT LINK (#PCDATA)>
<!ATTLIST LINK href CDATA #REQUIRED>
<!ELEMENT TARGET (#PCDATA)>
<!ATTLIST TARGET id CDATA #REQUIRED>
<!ATTLIST TARGET start CDATA #REQUIRED>
<!ATTLIST TARGET stop CDATA #REQUIRED>
