BIOML Proposal, 19990220
The Biopolymer Markup Language—BIOML
Working Draft Proposal
Appendix C. Document Type Definitions
TOC
This appendix contains the Document Type Definitions required for BIOML.

<?xml encoding="UTF-8"?>

<!-- Content model for content and presentation   -->
<!-- and browser interface tags in bioml based    -->
<!-- on the bioml.dtd draft. syntax = XML         -->

<!-- date = March 24, 1999                      -->
<!-- Author: Ronald Beavis                        -->
<!-- source: bioml@proteometrics.com              -->
<!-- Official version:                            -->
<!-- http://www.proteometrics.com/BIOML/bioml.dtd -->
<!-- Additions:                                   -->
<!-- 1 -->
<!-- January 6, 1999                              -->
<!-- name, organism, and species elements added.  -->
<!-- David J. States, Washington University       -->
<!-- 2 -->
<!-- January 20, 1999                             -->
<!-- group element added                          -->
<!-- Ronald Beavis                                -->
<!-- 3 -->
<!-- February 20, 1999                            -->
<!-- 1) xml:space attribute added to some         -->
<!-- elements, as suggested by Paul Gordon, IMB,  -->
<!-- NRCC, Halifax (keep_space entity);           -->
<!-- 2) local.xx.yy entities added for easy       -->
<!-- extension of selected elements;              -->
<!-- 3) id entity removed and id placed in global;-->
<!-- 4) element contents have been rationalized;  -->
<!-- 5) group extended to contain ANY element; and-->
<!-- 6) query and alt_common_name elements removed-->
<!-- as redundant.                                -->
<!-- 4 -->
<!-- February 26, 1999                            -->
<!-- 1) xml:space attribute added to some         -->
<!-- additional elements                          -->
<!-- 2) an error in the "organism" content list   -->
<!-- was corrected.                               -->
<!-- 5 -->
<!-- March 6, 1999 - responding to comments from  -->
<!-- Paul Gordon.                                 -->
<!-- 1) an error in the rvariant attribute list   -->
<!-- was corrected                                -->
<!-- 2) the definition of the "comp" entity was   -->
<!-- added.                                       -->
<!-- 3) *'s were added to dna-related element     -->
<!-- content descriptions to bring them into line -->
<!-- with the rna & protein elements.             -->
<!-- 4) The content description of the form       -->
<!-- element was expanded to include input and    -->
<!-- text elements.                               -->
<!-- 6 -->
<!-- March 24, 1999                               -->
<!-- Changes by Ronald Beavis                     -->
<!-- 1) "name" removed from the data model for    -->
<!-- "peptide" and "domain";                      -->
<!-- 2) "rend" replaced with "rstop" in the data  -->
<!-- model for "rna" and "rdomain";               -->
<!-- 3) an asterisk was added to the data model   -->
<!-- "taxon"; and                                 -->
<!-- 4) character entity definitions changed to   -->
<!-- use explicit hex code entities.              -->
<!-- ************************************-->
<!-- general entity definitions -->
<!-- ************************************-->

<!ENTITY % local.aa_type.value "">
<!ENTITY % aa_type   "type (A|B|C|D|E|F|G|H|I|K|L|M
                               |N|P|Q|R|S|T|V|W|X|Y|Z
                                %local.aa_type.value;) 
                                #REQUIRED">

<!ENTITY % at        "at CDATA #IMPLIED">

<!ENTITY % local.biopolymer.content "">
<!ENTITY % biopolymer "protein|peptide|subunit|dna|rna
                        %local.biopolymer.content;">

<!ENTITY % local.db_attributes.attrib "">
<!ENTITY % db_attributes "name CDATA #IMPLIED
                     entry CDATA #IMPLIED
                     %local.db_attributes.attrib;">

<!ENTITY % local.dna_type.value "">
<!ENTITY % dna_type  "type (A|a|T|t|G|g|C|c
                                %local.dna_type.value;) 
                                #REQUIRED">

<!ENTITY % local.dom_type.value "">
<!ENTITY % dom_type  "type (mature|propeptide|signal
                               |alpha-helix|beta-strand
                               |turn|variable
                               %local.dom_type.value;) 
                                #REQUIRED">

<!ENTITY % end        "end CDATA #IMPLIED">

<!ENTITY % local.format.value "">
<!ENTITY % format    "format (TEXT|BINARY|ZIP
                                  |GZIP|JPEG|MSDCS|GIF
                                  %local.format.value;) 
                                  #REQUIRED ">

<!ENTITY % local.global.attrib "">
<!ENTITY % global     "state (hidden|open|close) #IMPLIED
											label CDATA #IMPLIED
											id CDATA #IMPLIED
                      %local.global.attrib;">

<!ENTITY % keep_space "xml:space (default|preserve)  
                       'preserve'">

<!ENTITY % local.nr.content "">
<!ENTITY % nr        "name|note|reference|db_entry|file
                       |group
                       %local.nr.content;">

<!ENTITY % occupied  "occ CDATA #IMPLIED">

<!ENTITY % order     "order CDATA #IMPLIED">

<!ENTITY % local.rna_type.value "">

<!ENTITY % rna_type  "type (A|a|U|u|G|g|C|c
                            %local.rna_type.value;) 
                            #REQUIRED">

<!ENTITY % start     "start CDATA #IMPLIED">

<!ENTITY % local.text_format.value "">
<!ENTITY % text_format "format (PIR|GENBANK|SPROT|PDB|FASTA
                                %local.text_format.value;)
                                #REQUIRED">

<!ENTITY % to        "to CDATA #IMPLIED">

<!ENTITY % type      "type CDATA #IMPLIED">

<!ENTITY % url       "url CDATA #IMPLIED
                        query CDATA #IMPLIED">

<!ENTITY % comp      "comp CDATA  #IMPLIED">
<!-- ************************************-->
<!-- character entity definitions -->
<!-- ************************************-->

<!ENTITY angstrom      "Å">

<!ENTITY plusminus     "±">

<!ENTITY emdash        "—">

<!ENTITY endash        "–">

<!ENTITY degree        "°">

<!ENTITY registered    "©">

<!ENTITY copyright     "®">

<!ENTITY bullet        "•">

<!ENTITY tab           "     ">

<!ENTITY newline       "

">

<!ENTITY paragraph     "&newline;&tab;">

<!ENTITY point         "&newline;•">

<!-- **********************************-->
<!-- : bioml elements       -->
<!-- **********************************-->

<!ELEMENT bioml      ANY>

<!-- **********************************-->
<!-- : bioml protein elements       -->
<!-- **********************************-->

<!ELEMENT protein    (#PCDATA|subunit|peptide|%nr;)*>
<!ATTLIST protein    %global;
                        %comp;>

<!ELEMENT subunit    (#PCDATA|peptide|%nr;)*>
<!ATTLIST subunit    %global;
                        %comp;>

<!ELEMENT peptide    (#PCDATA|domain|aa|%nr;)*>
<!ATTLIST peptide    %global;
                        %start;
                        %end;>

<!ELEMENT domain     (#PCDATA|aa|%nr;)*>
<!ATTLIST domain     %global;
                     %start;
                     %end;
                     %dom_type;>

<!ELEMENT homolog   (#PCDATA|species|taxon|%nr;)*>
<!ATTLIST homolog    %global;>

<!ELEMENT aa         (#PCDATA|amod|alink|avariant|aconflict|%nr;)*>
<!ATTLIST aa         %aa_type;
                        %global;
                        %at;
                        %to;>

<!ELEMENT amod       (#PCDATA|%nr;)*>
<!ATTLIST amod       %type;
                        %global;
                        %at;
                        %to;
                        %occupied;>

<!ELEMENT alink      (#PCDATA|%nr;)*>
<!ATTLIST alink      %type;
                        %global;
                        %at;
                        %to;
                        %occupied;>

<!ELEMENT avariant   (#PCDATA|%nr;)*>
<!ATTLIST avariant   %global;
                        %aa_type;
                        %at;
                        %occupied;>

<!ELEMENT aconflict  (#PCDATA|%nr;)*>
<!ATTLIST aconflict  %global;
                        %aa_type;
                        %at;>

<!-- ***************************************-->
<!-- : bioml general gene-related elements-->
<!-- *************************************** -->

<!ELEMENT chromosome (#PCDATA|sts_domain|dna|locus|gene|%nr;)*>
<!ATTLIST chromosome %global;
                        number CDATA #IMPLIED>

<!ELEMENT sts_domain (#PCDATA|dna|locus|gene|%nr;)*>
<!ATTLIST sts_domain      %global;
                             %start;
                             %end;>

<!ELEMENT clone      (#PCDATA|locus|gene|dna|%nr;)*>
<!ATTLIST clone      %global;>

<!ELEMENT plasmid    (#PCDATA|locus|gene|dna|%nr;)*>
<!ATTLIST plasmid    %global;>

<!ELEMENT locus      (#PCDATA|dna|gene|%nr;)*>
<!ATTLIST locus      %global;
                        %start;
                        %end;>

<!-- ***************************************-->
<!-- : bioml dna gene-related elements -->
<!-- ***************************************-->

<!ELEMENT dna        (#PCDATA|clone|promotor|ddomain|exon
                         |intron|da|dmod|dvariant|dstart|dstop|%nr;)*>
<!ATTLIST dna        %global;
                        %start;
                        %end;>

<!ELEMENT promotor   (#PCDATA|%nr;)*>
<!ATTLIST promotor   %global;
                        %start;
                        %end;>

<!ELEMENT gene       (#PCDATA|dna|%nr;)*>
<!ATTLIST gene       %global;
                        %start;
                        %end;
						%comp;>

<!ELEMENT exon       (#PCDATA|%nr;)*>
<!ATTLIST exon       %global;
                        %start;
                        %end;>

<!ELEMENT intron     (#PCDATA|%nr;)*>
<!ATTLIST intron     %global;
                        %start;
                        %end;>

<!ELEMENT ddomain     (#PCDATA|da|dstart|dstop|%nr;)*>
<!ATTLIST ddomain     %global;
                         %start;
                         %end;>

<!ELEMENT da         (#PCDATA|dmod|dvariant|%nr;)*>
<!ATTLIST da         %at;
                        %global;
                        %dna_type;>

<!ELEMENT dmod       (#PCDATA|%nr;)*>
<!ATTLIST dmod       %at;
                        %global;
                        %type;
                        %occupied;>

<!ELEMENT dvariant   (#PCDATA|%nr;)*>
<!ATTLIST dvariant   %global;
                        %at;
                        %type;
                        %occupied;>

<!ELEMENT dstart     (#PCDATA|%nr;)*>
<!ATTLIST dstart     %at;
                        %global;>

<!ELEMENT dstop       (#PCDATA|%nr;)*>
<!ATTLIST dstop       %at;
                         %global;>

<!-- **********************************-->
<!-- : bioml rna gene-related elements-->
<!-- **********************************-->

<!ELEMENT rna        (#PCDATA|clone|ra|rstart|rstop
                        |rdomain|%nr;)*>
<!ATTLIST rna        %global;
                        %start;
                        %end;>

<!ELEMENT ra         (#PCDATA|rmod|rvariant|%nr;)*>
<!ATTLIST ra         %at;
                        %global;
                        %rna_type;>

<!ELEMENT rdomain     (#PCDATA|ra|rstart|rstop
                        |%nr;)*>
<!ATTLIST rdomain     %global;
                         %start;
                         %end;>

<!ELEMENT rmod       (#PCDATA|%nr;)*>
<!ATTLIST rmod       %at;
                        %global;
                        %type;
                        %occupied;>

<!ELEMENT rvariant   (#PCDATA|%nr;)*>
<!ATTLIST rvariant   %global;
                        %at;
                        %type;
                        %occupied;>

<!ELEMENT rstart     (#PCDATA|%nr;)*>

<!ATTLIST rstart     %at;
                        %global;>

<!ELEMENT rstop      (#PCDATA|%nr;)*>
<!ATTLIST rstop      %at;
                        %global;>

<!-- ***************************************-->
<!-- : bioml general elements added by DJS 1/6/99 -->
<!-- *************************************** -->

<!ELEMENT name       (#PCDATA|%nr;)*>
<!ATTLIST name        %global;
                       %keep_space;>

<!ELEMENT note       (#PCDATA|%nr;)*>
<!ATTLIST note        %global;
                       %keep_space;>

<!ELEMENT organism   (#PCDATA|species|common_name|taxon|tissue|cell 
                           |chromosome|plasmid|organelle|particle
                           |%biopolymer;|%nr;)*>
<!ATTLIST organism   %global;>

<!ELEMENT species    (#PCDATA)>
<!ATTLIST species    %global;
                        %keep_space;>

<!-- ***********************************-->
<!-- : bioml organism specific elements-->
<!-- ***********************************-->

<!ELEMENT common_name (#PCDATA)>
<!ATTLIST common_name    %global;
                            %keep_space;>

<!ELEMENT taxon       (#PCDATA|species|%nr;)*>
<!ATTLIST taxon    %global;
                      %keep_space;>

<!ELEMENT tissue     (#PCDATA|organelle|cell|particle|%biopolymer;|%nr;)*>
<!ATTLIST tissue     %global;>

<!ELEMENT cell       (#PCDATA|organelle|particle|%biopolymer;|%nr;)*>
<!ATTLIST cell       %global;>

<!ELEMENT organelle  (#PCDATA|particle|%biopolymer;|%nr;)*>
<!ATTLIST organelle  %global;>

<!ELEMENT particle   (#PCDATA|%biopolymer;|%nr;)*>
<!ATTLIST particle   %global;>


<!-- ************************************-->
<!-- : bioml reference specific elements-->
<!-- ************************************-->

<!ELEMENT reference  (#PCDATA|author|title|journal|book_title|editor
                        |volume|pages|%nr;)*>
<!ATTLIST reference  %global;
                        %keep_space;>

<!ELEMENT author     (#PCDATA)>
<!ATTLIST author  %global;
                        %keep_space;>

<!ELEMENT title      (#PCDATA)>
<!ATTLIST title  %global;
                        %keep_space;>

<!ELEMENT journal    (#PCDATA)>
<!ATTLIST journal  %global;
                        %keep_space;>

<!ELEMENT book_title (#PCDATA)>
<!ATTLIST book_title  %global;
                        %keep_space;>

<!ELEMENT editor     (#PCDATA)>
<!ATTLIST editor  %global;
                        %keep_space;>

<!ELEMENT volume     (#PCDATA)>
<!ATTLIST volume  %global;
                        %keep_space;>

<!ELEMENT pages      (#PCDATA)>
<!ATTLIST pages   %global;
                        %keep_space;>

<!-- ****************************************-->
<!-- : bioml remote data referencing elements-->
<!-- ****************************************-->

<!ELEMENT db_entry   (#PCDATA)>
<!ATTLIST db_entry   %global;
                        %db_attributes;
                        %text_format;
                        %url;>

<!ELEMENT file       (#PCDATA)>
<!ATTLIST file       %format;
                        %global;
                        %url;>

<!-- *****************************************-->
<!-- : bioml data special formatting elements -->
<!-- *****************************************-->

<!ELEMENT binary     (#PCDATA)>
<!ATTLIST binary     %format;
                        %global;>

<!ELEMENT data     (#PCDATA)>
<!ATTLIST data     %text_format;
                      %global;>

<!ELEMENT copyright (#PCDATA)>
<!ATTLIST copyright %global;>

<!-- *****************************************-->
<!-- : bioml form elements                    -->
<!-- *****************************************-->

<!ELEMENT form     (#PCDATA|input|text)*>
<!ATTLIST form     %global;
                        action CDATA #REQUIRED>

<!ELEMENT input     (#PCDATA)>
<!ATTLIST input     %global;
                        type (hidden|value) #IMPLIED
                        name CDATA #IMPLIED
                        value CDATA #IMPLIED
                        width CDATA #IMPLIED>

<!ELEMENT text     (#PCDATA)>
<!ATTLIST text      %global;>
<!-- *****************************************-->
<!-- : bioml generalized grouping element -->
<!-- *****************************************-->

<!ELEMENT group      ANY>
<!ATTLIST group      %global;>

<!-- **********************************-->
<!-- : end of bioml DTD                -->
<!-- **********************************-->

0. Title and abstract TOC Appendix A References

Send your comments