diff options
author | Andreas Maunz <andreas@maunz.de> | 2012-02-20 14:45:20 +0100 |
---|---|---|
committer | Andreas Maunz <andreas@maunz.de> | 2012-02-20 14:45:20 +0100 |
commit | e77cc376aaff8ca481fdace6d5795c5b5feb0e87 (patch) | |
tree | 7414410257818a6f52e64fc720827766b05ed70a /java/joelib2/io/types/cml/data/cml1_0_1.dtd | |
parent | ec9256dc1b29a3203d6e987244d2aeacbd3dda1a (diff) |
Added pc descriptor calc service
Diffstat (limited to 'java/joelib2/io/types/cml/data/cml1_0_1.dtd')
-rw-r--r-- | java/joelib2/io/types/cml/data/cml1_0_1.dtd | 485 |
1 files changed, 485 insertions, 0 deletions
diff --git a/java/joelib2/io/types/cml/data/cml1_0_1.dtd b/java/joelib2/io/types/cml/data/cml1_0_1.dtd new file mode 100644 index 0000000..706b1ab --- /dev/null +++ b/java/joelib2/io/types/cml/data/cml1_0_1.dtd @@ -0,0 +1,485 @@ +<!-- CML V1.01 DTD --> +<!-- Amendments and errata from V1. (1999-05-15) --> +<!-- Authors: + P.Murray-Rust + H.Rzepa +This DTD is fully described in P. Murray-Rust and H. S. Rzepa, Journal of Chem +ical Information + and Computer Science, 1999, 39, 928. +--> +<!-- Changes (2001-04-06): +1. atomRefs has been added as an attribute for string, + float, integer and their *Arrays +2. some elements and attributes have been annotated as + belonging to a subset "CoreCML" for simple small molecules +3. multiple dictRef on molecule removed +4. delimiter attribute added to floatArray, integerArray, floatMatrix +5. generic PE's created for many attributes for ease of maintenance + no new attributes created +6. dictRef added to a very small number of elements - this is now + almost universal +--> + +<!-- elements and attributes fall into 2 categories: + coreCML - a subset of CML for easy implementation for small molecules + fullCML - the full DTD (includes coreCML) +--> +<!-- % fullCML can be overridden +by prepending the statement: +<!ENTITY % fullCML "IGNORE"> +at this stage (or transmitting it in from the parser controls if +implemented) --> + +<!ENTITY % coreCML "INCLUDE"> +<!ENTITY % fullCML "INCLUDE"> + +<!-- =======================================================--> +<!-- PARAMETER ENTITIES --> +<!-- =======================================================--> + +<!-- ======attributes found on almost all elements ==========--> + +<!ENTITY % title 'title CDATA #IMPLIED'> +<!ENTITY % id 'id CDATA #IMPLIED'> +<!ENTITY % convention 'convention CDATA "CML"'> +<!ENTITY % dictRef 'dictRef CDATA #IMPLIED'> + +<!-- a very common combination (on most elements) --> +<!ENTITY % tit_id_conv '%title; %id; %convention;'> +<!ENTITY % tit_id_conv_dict '%tit_id_conv; %dictRef;'> + +<!-- ======linking information ==============================--> + +<!ENTITY % simpleLink 'href CDATA #REQUIRED'> + +<!-- ======quantifiers and constraints on some primitives ===--> + +<!ENTITY % count 'count CDATA "1"'> +<![ %fullCML; [ +<!ENTITY % size 'size CDATA #IMPLIED'> +<!ENTITY % rows 'rows CDATA #REQUIRED'> +<!ENTITY % columns 'columns CDATA #REQUIRED'> +]]> +<!ENTITY % size ''> +<!ENTITY % rows ''> +<!ENTITY % columns ''> + +<!-- ====== delimiter in Array elements ===--> +<!ENTITY % delimiter 'delimiter CDATA #IMPLIED'> + +<!-- ======constraints on some numeric data primitives ===--> + +<!ENTITY % units 'units CDATA #IMPLIED'> + +<![%fullCML;[ +<!ENTITY % min 'min CDATA #IMPLIED'> +<!ENTITY % max 'max CDATA #IMPLIED'> +<!ENTITY % angleUnits 'units (degrees | radians) "degrees"'> +<!ENTITY % unitsRef 'unitsRef CDATA #IMPLIED'> +]]> +<!ENTITY % min ''> +<!ENTITY % max ''> +<!ENTITY % angleUnits ''> +<!ENTITY % unitsRef ''> + +<!-- for CoreCML degrees are mandatory --> +<!ENTITY % angleUnits 'units CDATA #FIXED "degrees"'> + +<!-- values which may be useful in min and max attributes --> +<!ENTITY % integer.zero '0'> +<!ENTITY % integer.max '2147483647'> +<!ENTITY % integer.min '-2147483648'> +<!ENTITY % float.zero '0.0'> +<!ENTITY % float.max '8.98846567431158E307'> +<!ENTITY % float.min '4.9E-324'> + +<!-- ======= builtin values for any element ================--> +<!ENTITY % builtinId 'id'> + +<!-- ======= builtin values for atoms ======================--> +<!ENTITY % elementType 'elementType'> + +<![%fullCML;[ +<!ENTITY % atomId ' | atomId '> +]]> +<!ENTITY % atomId ''> + +<!ENTITY % x2 'x2'> +<!ENTITY % y2 'y2'> +<!ENTITY % x3 'x3'> +<!ENTITY % y3 'y3'> +<!ENTITY % z3 'z3'> +<!ENTITY % xy2 'xy2'> +<!ENTITY % xyz3 'xyz3'> +<!ENTITY % xFract 'xFract'> +<!ENTITY % yFract 'yFract'> +<!ENTITY % zFract 'zFract'> +<!ENTITY % xyzFract 'xyzFract'> +<!ENTITY % occupancy 'occupancy'> +<!ENTITY % isotope 'isotope'> +<!ENTITY % formalCharge 'formalCharge'> +<!ENTITY % nonHydrogenCount 'nonHydrogenCount'> +<!ENTITY % hydrogenCount 'hydrogenCount'> +<!ENTITY % atomParity 'atomParity'> + +<![%fullCML;[ +<!ENTITY % residueType ' | residueType'> +<!ENTITY % residueId ' | residueId'> +]]> +<!ENTITY % residueType ''> +<!ENTITY % residueId ''> + +<!ENTITY % atomStringBuiltin ' + %elementType; %atomId; + %residueType; %residueId; + ' +> +<!ENTITY % atomFloatBuiltin ' + %x2; | %y2; | + %x3; | %y3; | %z3; | + %xFract; | %yFract; | %zFract; | + %occupancy; | %isotope; | + %formalCharge; | %hydrogenCount; | %nonHydrogenCount; | + %atomParity; + ' +> +<!ENTITY % atomIntegerBuiltin ' + %isotope; | + %formalCharge; | %hydrogenCount; | %nonHydrogenCount; | + %atomParity; + ' +> +<!ENTITY % atomCoordinate2Builtin ' + %xy2; + ' +> +<!ENTITY % atomCoordinate3Builtin ' + %xyz3; | %xyzFract; + ' +> +<!-- ======= builtin values for bonds ======================--> +<!ENTITY % atomRef 'atomRef'> +<!ENTITY % builtinAtomRefs 'atomRefs'> +<!ENTITY % length 'length'> +<!ENTITY % order 'order'> +<!ENTITY % stereo 'stereo'> +<!ENTITY % atomRefs 'atomRefs CDATA #IMPLIED'> + +<!ENTITY % bondStringBuiltin ' + %atomRef; | %builtinAtomRefs; | + %order; | + %stereo; + ' +> +<!ENTITY % bondFloatBuiltin ' + %length; + ' +> +<!ENTITY % bondIntegerBuiltin '' +> +<!-- ======= builtin values for crystal ====================--> + +<!ENTITY % acell 'acell'> +<!ENTITY % bcell 'bcell'> +<!ENTITY % ccell 'ccell'> +<!ENTITY % alpha 'alpha'> +<!ENTITY % beta 'beta'> +<!ENTITY % gamma 'gamma'> +<!ENTITY % z 'z'> +<!ENTITY % spacegroup 'spacegroup'> + +<!ENTITY % crystalStringBuiltin ' + %spacegroup; + ' +> +<!ENTITY % crystalFloatBuiltin ' + %acell; | %bcell; | %ccell; | + %alpha; | %beta; | %gamma; | + %z; + ' +> +<!ENTITY % crystalIntegerBuiltin ' + %z; + ' +> +<!-- =======================================================--> +<!ENTITY % stringBuiltin ' + builtin ( + %builtinId; | + %atomStringBuiltin; | + %bondStringBuiltin; | + %crystalStringBuiltin; + ) #IMPLIED ' +> +<!ENTITY % floatBuiltin ' + builtin ( + %atomFloatBuiltin; | + %bondFloatBuiltin; | + %crystalFloatBuiltin; + ) #IMPLIED ' +> +<!ENTITY % integerBuiltin ' + builtin ( + %atomIntegerBuiltin; | + %crystalIntegerBuiltin; + ) #IMPLIED ' +> +<!ENTITY % coordinate2Builtin ' + builtin ( + %atomCoordinate2Builtin; + ) #IMPLIED ' +> +<!ENTITY % coordinate3Builtin ' + builtin ( + %atomCoordinate3Builtin; + ) #IMPLIED ' +> + +<!-- =======================================================--> +<!-- ELEMENTS for widely used data primitives --> +<!-- =======================================================--> + +<!-- CML-DTD V1.01 addition + certain children of atom or bond may refer to atoms (particularly + builtin="atomParity" and builtin="stereo"). For these + we need the attribute 'atomRefs' +--> +<!ENTITY % scalar.content '(#PCDATA)'> +<!ENTITY % array.content '(#PCDATA)'> +<!ENTITY % matrix.content '(#PCDATA)'> +<!ENTITY % angle.content '(#PCDATA)'> +<!ENTITY % coordinate.content '(#PCDATA)'> + +<!ENTITY % array.atts + '%size; + %delimiter; +'> + +<!ELEMENT string %scalar.content;> +<!ATTLIST string + %tit_id_conv_dict; + %stringBuiltin; + %atomRefs; +> +<!-- link is for implementing XLink - only used in fullCML --> +<![ %fullCML; [ +<!ELEMENT link %scalar.content;> +<!ATTLIST link + %tit_id_conv; + %simpleLink; +> +]]> + +<!ELEMENT float %scalar.content;> +<!ATTLIST float + %tit_id_conv_dict; + %floatBuiltin; + %min; + %max; + %units; + %unitsRef; + %atomRefs; +> +<!ELEMENT integer %scalar.content;> +<!ATTLIST integer + %tit_id_conv_dict; + %integerBuiltin; + %min; + %max; + %units; + %unitsRef; + %atomRefs; +> +<!ELEMENT stringArray %array.content;> +<!ATTLIST stringArray + %tit_id_conv_dict; + %stringBuiltin; + %array.atts; + %min; + %max; +> +<!ELEMENT floatArray %array.content;> +<!ATTLIST floatArray + %tit_id_conv_dict; + %floatBuiltin; + %array.atts; + %units; + %unitsRef; + %min; + %max; +> +<!ELEMENT integerArray %array.content;> +<!ATTLIST integerArray + %tit_id_conv_dict; + %integerBuiltin; + %array.atts; + %min; + %max; + %units; + %unitsRef; +> +<!ELEMENT floatMatrix %matrix.content;> +<!ATTLIST floatMatrix + %tit_id_conv_dict; + %rows; + %columns; + %min; + %max; + %units; + %unitsRef; + %delimiter; +> + +<!ELEMENT coordinate2 %coordinate.content;> +<!ATTLIST coordinate2 + %tit_id_conv_dict; + %coordinate2Builtin; + %unitsRef; +> + +<!ELEMENT coordinate3 %coordinate.content;> +<!ATTLIST coordinate3 + %tit_id_conv_dict; + %coordinate3Builtin; + %unitsRef; +> +<!ELEMENT angle %angle.content;> +<!ATTLIST angle + %tit_id_conv_dict; + %atomRefs; + %angleUnits; + %min; + %max; +> + +<!ELEMENT torsion %angle.content;> +<!ATTLIST torsion + %tit_id_conv_dict; + %atomRefs; + %angleUnits; + %min; + %max; +> + +<!ELEMENT list ANY> +<!ATTLIST list + %tit_id_conv_dict; +> + +<!-- =======================================================--> +<!-- ELEMENTS for chemical and crystallographic concepts --> +<!-- =======================================================--> +<!-- NOTE + for elements which have element-specific values for the + builtin attribute, those values are already listed as + entities +--> +<!-- =======================================================--> +<![%fullCML;[ +<!ENTITY % molecule.content 'ANY'> +]]> +<!ENTITY % molecule.content '(atomArray, bondArray)'> + +<!ELEMENT molecule %molecule.content;> +<!ATTLIST molecule + %tit_id_conv_dict; + %count; +> + +<!-- ========================================================--> +<!ELEMENT formula ANY> +<!ATTLIST formula + %tit_id_conv_dict; + %count; +> + +<!-- ========================================================--> +<![%fullCML;[ +<!ENTITY % atom.content 'ANY'> +]]> +<!ENTITY % atom.content '(string | float | integer)*'> +<!ELEMENT atom %atom.content;> +<!ATTLIST atom + %tit_id_conv_dict; + %count; +> + +<!-- .......................................................--> +<![%fullCML;[ +<!ENTITY % atomArray.content 'ANY'> +]]> +<!ENTITY % atomArray.content ' + (atom+ | (stringArray | floatArray | integerArray)*) + ' +> +<!ELEMENT atomArray %atomArray.content;> +<!ATTLIST atomArray + %tit_id_conv; +> + +<!-- ========================================================--> +<![%fullCML;[ +<!ENTITY % bond.content 'ANY'> +]]> +<!ENTITY % bond.content '(string | float | integer)*'> +<!ELEMENT bond %bond.content;> +<!ATTLIST bond + %tit_id_conv_dict; + %atomRefs; +> + +<!-- ========================================================--> +<![%fullCML;[ +<!ENTITY % bondArray.content 'ANY'> +]]> +<!ENTITY % bondArray.content ' + (bond+ | (stringArray | floatArray | integerArray)*) + ' +> +<!ELEMENT bondArray %bondArray.content;> +<!ATTLIST bondArray + %tit_id_conv; +> +<!-- ========================================================--> +<![ %fullCML; [ +<!ELEMENT electron ANY> +<!ATTLIST electron + %tit_id_conv_dict; + %count; +> +]]> +<!-- ========================================================--> +<![ %fullCML; [ +<!ELEMENT reaction ANY> +<!ATTLIST reaction + %tit_id_conv_dict; +> +]]> + +<!-- ======================================================= --> + +<![%fullCML;[ +<!ENTITY % crystal.content 'ANY'> +]]> +<!ENTITY % crystal.content '(string | float | integer)*'> +<!ELEMENT crystal %crystal.content;> +<!ATTLIST crystal + %tit_id_conv_dict; +> + +<!-- ======================================================= --> +<![ %fullCML; [ +<!ELEMENT sequence ANY> +<!ATTLIST sequence + %tit_id_conv_dict; +> +]]> + +<!-- ======================================================= --> +<![ %fullCML; [ +<!ELEMENT feature ANY> +<!ATTLIST feature + %tit_id_conv_dict; +> +]]> + |