📄 cml1_0_1.dtd
字号:
<!-- CML V1.01 DTD --><!-- Amendments and errata from V1. (1999-05-15) --><!-- Authors: P.Murray-Rust H.RzepaThis DTD is fully described in P. Murray-Rust and H. S. Rzepa, Journal of Chemical 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 *Arrays2. some elements and attributes have been annotated as belonging to a subset "CoreCML" for simple small molecules3. multiple dictRef on molecule removed4. delimiter attribute added to floatArray, integerArray, floatMatrix5. generic PE's created for many attributes for ease of maintenance no new attributes created6. 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 overriddenby prepending the statement:<!ENTITY % fullCML "IGNORE">at this stage (or transmitting it in from the parser controls ifimplemented) --><!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;>]]>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -