⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmlcore.xsd

📁 化学图形处理软件
💻 XSD
📖 第 1 页 / 共 5 页
字号:
         </xsd:attribute>         <xsd:attribute id="el.atom.zFract" name="zFract" type="xsd:decimal">            <xsd:annotation>               <xsd:documentation>             <div class="general"><p>The fractional x coordinate in a crystal structure.              xFract, yFract and zFract coordinates must be all present or all absent.              A <tt>crystal</tt> element is required</p>                </div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attributeGroup ref="title"/>          <xsd:attributeGroup ref="convention"/>           <xsd:attributeGroup ref="dictRef"/>          <xsd:attributeGroup ref="ref"/>       </xsd:complexType>   </xsd:element>      <xsd:element name="atomArray" id="el.atomArray">        <xsd:annotation>         <xsd:documentation>          <div class="summary">A container for a list of atoms</div>          <div class="description">A child of <a href="el.molecule">molecule</a> and contains        <tt>atom</tt> information. There are two strategies:        <ul>                  <li>Create individual <a href="el.atom">atom</a> elements under                   <a href="el.atomArray">atomArray</a>        (in any order). This gives the greatest flexibility but is the most verbose.</li>                  <li>Create <tt>*Array</tt> attributes (e.g. of                   <a href="st.elementTypeArrayType">elementTypeArrayType</a> under         <a href="el.atomArray">atomArray</a>. This requires all arrays to be of identical lengths        with explicit values for all atoms in every array.         This is NOT suitable for complexType        atom children such as <a href="el.atomParity">atomParity</a>        or composite types such as <tt>xy2</tt>.        It also cannot be checked as easily by schema- and schematron validation. The        <tt>atomIDArray</tt> attribute is mandatory. It is allowed (though not yet recommended) to        add <tt>*Array</tt> children such as <a href="el.floatArray">floatArray</a>                  </li>               </ul>               <p>The attributes are directly related to the scalar attributes under        <a href="el.atom">atom</a> which should be consulted for more info.</p>	<p>NOTE: The CML-1 specifications are also supported but are deprecated</p>	</div>    <div class="example">      <p>Example - these are exactly equivalent representations</p>       <pre>&lt;stm:list xmlns:stm="http://www.xml-cml.org/schema/stmml"&gt;  &lt;atomArray&gt;    &lt;atom id="a1" elementType="O" hydrogenCount="1"/&gt;     &lt;atom id="a2" elementType="N" hydrogenCount="1"/&gt;    &lt;atom id="a3" elementType="C" hydrogenCount="3"/&gt;  &lt;/atomArray&gt;&lt;!-- is equivalent to --&gt;  &lt;atomArray    atomID="a1 a2 a3"    elementType="O N C"    hydrogenCount="1 1 3"/&gt;&lt;/stm:list&gt;       </pre>    </div>    </xsd:documentation>      </xsd:annotation>      <xsd:complexType>         <xsd:choice>            <xsd:element ref="atom" maxOccurs="unbounded"/>            <xsd:element ref="array" minOccurs="0" maxOccurs="unbounded"/><!-- CML-1 (deprecated) -->	    <xsd:choice minOccurs="0" maxOccurs="unbounded">	      <xsd:element ref="floatArray" minOccurs="0" maxOccurs="unbounded"/>	      <xsd:element ref="integerArray" minOccurs="0" maxOccurs="unbounded"/>	      <xsd:element ref="stringArray" minOccurs="0" maxOccurs="unbounded"/>	    </xsd:choice>         </xsd:choice>         <xsd:attributeGroup ref="tit_id_conv_dictGroup"/>         <xsd:attribute name="elementType" type="elementTypeArrayType">            <xsd:annotation>               <xsd:documentation>                   <div class="summary">Almost mandatory. see <a href="el.atom.elementType">elementType</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="count" type="integerArrayType">            <xsd:annotation>               <xsd:documentation>                   <div class="summary">See <a href="el.atom.count">count</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="formalCharge" type="integerArrayType">            <xsd:annotation>               <xsd:documentation>                   <div class="summary">See <a href="el.atom.formalCharge">formalCharge</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="hydrogenCount" type="integerArrayType">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">See <a href="el.atom.hydrogenCount">hydrogenCount</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="nonHydrogenCount" type="integerArrayType">            <xsd:annotation>               <xsd:documentation>                 <div class="summary">See <a href="el.atom.nonHydrogenCount">nonHydrogenCount</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="isotope" type="floatArrayType">            <xsd:annotation>               <xsd:documentation>                   <div class="summary">See <a href="el.atom.isotope">isotope</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="occupancy" type="floatArrayType">            <xsd:annotation>               <xsd:documentation>                   <div class="summary">See <a href="el.atom.occupancy">occupancy</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="x2" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">See <a href="el.atom.x2">x2</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="x3" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">See <a href="el.atom.x3">x3</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="xFract" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">See <a href="el.atom.xFract">xFract</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="y2" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">See <a href="el.atom.y2">y2</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="y3" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                      <div class="summary">See <a href="el.atom.y3">y3</a></div>             </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="yFract" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">See <a href="el.atom.yFract">yFract</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="z3" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                    <div class="summary">See <a href="el.atom.z3">z3</a></div>             </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="zFract" type="coordinateComponentArrayType">            <xsd:annotation>               <xsd:documentation>                    <div class="summary">See <a href="el.atom.zFract">zFract</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>         <xsd:attribute name="atomID" type="atomRefArrayType">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">See <a href="el.atom.id">atomID</a></div>              </xsd:documentation>            </xsd:annotation>         </xsd:attribute>        <xsd:attributeGroup ref="ref">            <xsd:annotation>               <xsd:documentation>                  <div class="summary">Available for subclassing to provide alternative collections for atoms.</div>              </xsd:documentation>            </xsd:annotation>        </xsd:attributeGroup>      </xsd:complexType>   </xsd:element>   <xsd:element name="atomParity" id="el.atomParity">    <xsd:annotation>    <xsd:documentation>      <div class="summary">The stereochemistry round an atom centre. </div>      <div class="description">            <p>It follows the        convention of the MIF format, and uses 4 distinct atoms to define the        chirality. These can be any atoms (though they are normally bonded to        the current atom). There is no default order and the order is defined        by the atoms in the atomRefs4 attribute. If there are only 3 ligands, the        current atom should be included in the 4 atomRefs.        </p>            <p>The value of the parity is a signed number. (It can only be zero if        two or more atoms are coincident or the configuration is planar). The        sign is the sign of the chiral volume created by the four atoms (a1, a2,        a3, a4):</p>            <pre>       |  1  1  1  1 |       | x1 x2 x3 x4 |       | y1 y2 y3 y4 |       | z1 z2 z3 z4 |        </pre>            <p>Note that <tt>atomParity</tt> cannot be used with the *Array syntax for        atoms.</p>      </div>      <div class="example">       <pre>&lt;atom id="a1"&gt;  &lt;atomParity atomRefs4="a3 a5 a2 a9"&gt;1&lt;/atomParity&gt;&lt;/atom&gt;       </pre>      </div>    </xsd:documentation>    <xsd:appinfo>      <sch:pattern xmlns="http://www.ascc.net/xml/schematron" name="atomParity">        <sch:rule context="atomParity">        </sch:rule>      </sch:pattern>    </xsd:appinfo>  </xsd:annotation>  <xsd:complexType>    <xsd:simpleContent>      <xsd:extension base="xsd:decimal">        <xsd:attributeGroup ref="tit_id_conv_dictGroup"/>        <xsd:attributeGroup ref="atomRefs4"/>      </xsd:extension>    </xsd:simpleContent>  </xsd:complexType></xsd:element>     <xsd:element name="bond" id="el.bond">        <xsd:annotation>         <xsd:documentation>         <div class="summary">A bond between <a href="el.atom">atom</a>s, or between atoms and bonds</div>           <div class="general"><p>               <tt>bond</tt> is a child of <tt>bondArray</tt> and contains          bond information. Bond must refer to at least two atoms (using           <a href="st.atomRefs2Type">atomRefs2</a>)           but may also refer to more for multicentre bonds. Bond is often EMPTY but          may contain <a href="el.electron">electron</a>, <a href="el.length">length</a>           or <a href="el.stereo">stereo</a> elements.</p></div>      <div class="example">       <pre>&lt;bondArray&gt;  &lt;bond id="b1" atomRefs2="a3 a8" order="D"&gt;    &lt;electron bondRef="b1"/&gt;    &lt;stereo&gt;C&lt;/stereo&gt;  &lt;/bond&gt;  &lt;bond id="b2" atomRefs2="a3 a8" order="S"&gt;    &lt;stereo convention="MDL" conventionValue="6"/&gt;  &lt;/bond&gt;&lt;/bondArray&gt;       </pre>      </div>      <div class="example">       <pre>&lt;!-- Zeise's salt: Cl3Pt(CH2=CH2)--&gt;&lt;atomArray&gt;  &lt;atom id="pt1" elementType="Pt"/&gt;  &lt;atom id="cl1" elementType="Cl"/&gt;  &lt;atom id="cl2" elementType="Cl"/&gt;  &lt;atom id="cl3" elementType="Cl"/&gt;  &lt;atom id="c1" elementType="C" hydrogenCount="2"/&gt;  &lt;atom id="c2" elementType="C" hydrogenCount="2"/&gt;&lt;/atomArray&gt;&lt;bondArray&gt;  &lt;bond id="b1" atomRefs2="c1 c2" order="D"/&gt;  &lt;bond id="b2" atomRefs2="pt1 cl1" order="S"/&gt;  &lt;bond id="b3" atomRefs2="pt1 cl2" order="S"/&gt;  &lt;bond id="b4" atomRefs2="pt1 cl3" order="S"/&gt;  &lt;bond id="b5" atomRefs="pt1" bondRefs="b1"/&gt;&lt;/bondArray&gt;       </pre>      </div>       </xsd:documentation>         <xsd:appinfo>            <sch:pattern xmlns="http://www.ascc.net/xml/schematron" name="bond">               <sch:rule context="bond">                  <sch:report test="../@atomRef1Array">cannot mix <tt>bond</tt> and array approaches </sch:report>               </sch:rule>            </sch:pattern>            <sch:pattern xmlns="http://www.ascc.net/xml/schematron" name="stereo">               <sch:rule context="bond">                  <sch:report test="length[2]"> bond cannot have more than one <tt>length</tt> child</sch:report>               </sch:rule>            </sch:pattern>            <sch:pattern xmlns="http://www.ascc.net/xml/schematron" name="stereo">               <sch:rule context="bond">                  <sch:report test="stereo[2]">bond cannot have more than one <tt>stereo</tt> child</sch:report>               </sch:rule>            </sch:pattern>         </xsd:appinfo>        <xsd:appinfo>          <val:comment>Validate Bonds</val:comment>          <val:template match="bond">          <val:comment>Atom Refs for 2-atom bond</val:comment>            <val:variable name="at1" select="substring-before(normalize-space(@atomRefs2),' ')"/>            <val:variable name="at2" select="substring-after(normalize-space(@atomRefs2),' ')"/>  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -