element molecule

element {http://www.xml-cml.org/schema/cml2/core}molecule

Abstractfalse (This can be used in an instance)
Nillablefalse (Instance values cannot use xsi:nil)
Target Namespacehttp://www.xml-cml.org/schema/cml2/core
Declared Namespacesxmlns:val=http://www.w3.org/1999/XSL/TransformX
xmlns:stm=http://www.xml-cml.org/schema/stmml
xmlns:xsd=http://www.w3.org/2001/XMLSchema
xmlns:xlink=http://www.w3.org/1999/xlink
xmlns:cml=http://www.xml-cml.org/schema/cml2/core
xmlns=http://www.xml-cml.org/schema/cml2/core


Source

<xsd:element name="molecule" id="el.molecule">
    <
xsd:annotation>
        <
xsd:documentation>
            <
div class="summary">A container for atoms, bonds and submolecules.</div>
            <
div class="description">
                <
p>
                    <
tt>molecule</tt>
is a container for atoms, bonds and submolecules along
with properties such as crystal and non-builtin properties. It should either
contain
                    
<tt>molecule</tt>
or *Array for atoms and bonds. A molecule
can be empty (e.g. we just know its name, id, etc.)
                
</p>
                <
p>
"Molecule" need not represent a chemically meaningful molecule. It
can contain atoms with bonds (as in the solid-sate) and it could
simply carry a name (e.g. "taxol") without formal representation
of the structure. It can contain "sub molecules", which are often
discrete subcomponents (e.g. guest-host).
                
</p>
                <
p>
Molecule can contain a <list> element to contain data
related to the molecule.
Within this can be string/float/integer and other nested lists
                
</p>
            </
div>
            <
div class="example">
                <
pre>
<cml title="schematic molecule example">
<molecule id="dummyId">
<atomArray>
<atom id="a1" elementType="C"
hydrogenCount="0" x2="6.1964" y2="8.988"/>
<atom id="a2" elementType="C"
hydrogenCount="0" x2="6.1964" y2="7.587"/>
<atom id="a3" elementType="C"
hydrogenCount="2" x2="4.983" y2="6.887"/>
<!-- omitted -->
<atom id="a28" elementType="C"
hydrogenCount="3" x2="15.777" y2="6.554"/>
<atom id="a29" elementType="O"
hydrogenCount="0" x2="13.388" y2="6.188"/>
</atomArray>
<bondArray>
<bond atomRefs2="a1 a2" order="1"/>
<bond atomRefs2="a2 a3" order="1"/>
<bond atomRefs2="a3 a4" order="1"/>
<!-- omitted -->
<bond atomRefs2="a11 a15" order="1"/>
<bond atomRefs2="a12 a18" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a2 a19" order="1">
<bondStereo>W</bondStereo>
</bond>
<bond atomRefs2="a5 a20" order="2"/>
<bond atomRefs2="a17 a21" order="1"/>
<bond atomRefs2="a21 a22" order="1"/>
<!-- omitted -->
<bond atomRefs2="a10 a9" order="1"/>
<bond atomRefs2="a16 a29" order="2"/>
</bondArray>
</molecule>
</cml>
                
</pre>
            </
div>
        </
xsd:documentation>
        <
xsd:documentation>
            <
div class="curation">Revised content model to allow any order of lengths, angles, torsions 2003-01-01.</div>
        </
xsd:documentation>
        <
xsd:documentation>
            <
div class="curation">Added role attribute 2003-03-19.</div>
        </
xsd:documentation>
    </
xsd:annotation>
    <
xsd:complexType>
        <
xsd:annotation>
            <
xsd:documentation>
                <
div>
                    <
p>The float|integer|string children are for compatibility with CML-1 and are deprecated. scalar|array|matrix should be used instead.</p>
                </
div>
            </
xsd:documentation>
        </
xsd:annotation>
<!--
content model: entity mechanism allows extension to core CML-->
<!--
content extension to core CML-->
<!--
overloaded in derived CML supersets-->
        <
xsd:sequence>
            <
xsd:element ref="metadataList" minOccurs="0" maxOccurs="unbounded"/>
            <
xsd:element ref="formula" minOccurs="0"/>
            <
xsd:element ref="identifier" minOccurs="0"/>
            <
xsd:element ref="name" minOccurs="0" maxOccurs="unbounded"/>
            <
xsd:element ref="symmetry" minOccurs="0"/>
            <
xsd:element ref="crystal" minOccurs="0"/>
            <
xsd:choice>
                <
xsd:element ref="molecule" minOccurs="0" maxOccurs="unbounded"/>
                <
xsd:sequence>
                    <
xsd:element ref="atomArray"/>
                    <
xsd:element ref="bondArray" minOccurs="0"/>
                    <
xsd:element ref="electron" minOccurs="0" maxOccurs="unbounded"/>
                    <
xsd:choice minOccurs="0" maxOccurs="unbounded">
                        <
xsd:element ref="length"/>
                        <
xsd:element ref="angle"/>
                        <
xsd:element ref="torsion"/>
                    </
xsd:choice>
                </
xsd:sequence>
            </
xsd:choice>
            <
xsd:sequence minOccurs="0" maxOccurs="unbounded">
                <
xsd:element ref="scalar" minOccurs="0" maxOccurs="unbounded"/>
                <
xsd:element ref="array" minOccurs="0" maxOccurs="unbounded"/>
                <
xsd:element ref="matrix" minOccurs="0" maxOccurs="unbounded"/>
                <
xsd:element ref="list" minOccurs="0" maxOccurs="unbounded"/>
            </
xsd:sequence>
            <
xsd:choice minOccurs="0" maxOccurs="unbounded">
                <
xsd:element ref="float" minOccurs="0" maxOccurs="unbounded"/>
                <
xsd:element ref="integer" minOccurs="0" maxOccurs="unbounded"/>
                <
xsd:element ref="string" minOccurs="0" maxOccurs="unbounded"/>
            </
xsd:choice>
        </
xsd:sequence>
        <
xsd:attributeGroup ref="dictRef"/>
        <
xsd:attributeGroup ref="convention"/>
        <
xsd:attributeGroup ref="title"/>
        <
xsd:attributeGroup ref="id"/>
        <
xsd:attributeGroup ref="ref"/>
        <
xsd:attribute name="formula" type="formulaType">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
p>The
                        
<tt>formula</tt>
attribute should only be used for simple formulae (i.e.
without brackets or other nesting for which the
                        
<a href="el.formula">formula</a>
child should be used. The attribute might be used as a check on the child
elements or for ease of representation.
                    
</p>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute name="count" type="positiveNumberType">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The count for the molecule.</div>
                    <
div class="description">No formal default but assumed to be 1. Fractional values are allowed to describe variable stoichiometry.</div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute name="chirality">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The chirality of the complete system.</div>
                    <
div class="description">This is being actively investigated by a IUPAC committee (2002) so the convention is likely to change. No formaldefault.</div>
                </
xsd:documentation>
            </
xsd:annotation>
            <
xsd:simpleType>
                <
xsd:restriction base="xsd:string">
                    <
xsd:enumeration value="enantiomer"/>
                    <
xsd:enumeration value="racemate"/>
                    <
xsd:enumeration value="unknown"/>
                    <
xsd:enumeration value="other"/>
                </
xsd:restriction>
            </
xsd:simpleType>
        </
xsd:attribute>
        <
xsd:attribute id="el.molecule.formalCharge" name="formalCharge" type="formalChargeType">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The formalCharge on the molecule.</div>
                    <
div class="description">
NOT the calculated charge or oxidation state.
This attribute should be used when it is impossible or artificial to assign charges
to each atom, as in coordination complexes. It is then required that
                        
<b>all</b>
atom formalCharge attributes are omitted. No formal default, but assumed to be zero if omitted. It may become good practice to include it.
</div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute id="el.molecule.spinMultiplicity" name="spinMultiplicity"
            
type="xsd:positiveInteger">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The spin multiplicity for the molecule.</div>
                    <
div class="description">
                        <
p>
This attribute gives the spin multiplicity of the molecule
and is independent of any atomic information. No default, and it may take any positive integer
value (though values are normally between 1 and 5)
                        
</p>
                    </
div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute id="el.molecule.symmetryOriented" name="symmetryOriented" type="xsd:boolean">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">Is the molecule oriented to the symmetry.</div>
                    <
div class="description">
                        <
p>
No formal default, but a molecule is assumed to be oriented according to any
<symmetry> children. This is required for crystallographic data,
but some systems for isolated molecules allow specification of arbitrary
Cartesian or internal coordinates, which must be fitted or refined to
a prescribed symmetry. In this case the attribute value is
                            
<tt>false</tt>
.
</p>
                    </
div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute id="el.molecule.role" name="role" type="xsd:string">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">Role of the molecule</div>
                    <
div class="description">
                        <
p>No formal semantics (yet). The role describes the purpose of the molecule element at this stage in the information. Examples can be "conformation", "dynamicsStep", "vibration", "valenceBondIsomer", etc. This attribute may be used by applications to determine how to present a set of molecule elements.</p>
                    </
div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
<!--
attribute extensions to core CML-->
<!--
atom.atts.extensions-->
<!--
this is reserved for extending core CML through attributes to molecules-->
    </
xsd:complexType>
</
xsd:element>


Documentation

A container for atoms, bonds and submolecules.

molecule is a container for atoms, bonds and submolecules along with properties such as crystal and non-builtin properties. It should either contain molecule or *Array for atoms and bonds. A molecule can be empty (e.g. we just know its name, id, etc.)

"Molecule" need not represent a chemically meaningful molecule. It can contain atoms with bonds (as in the solid-sate) and it could simply carry a name (e.g. "taxol") without formal representation of the structure. It can contain "sub molecules", which are often discrete subcomponents (e.g. guest-host).

Molecule can contain a element to contain data related to the molecule. Within this can be string/float/integer and other nested lists

<cml title="schematic molecule example">
  <molecule id="dummyId">
    <atomArray>
      <atom id="a1" elementType="C"
        hydrogenCount="0" x2="6.1964" y2="8.988"/>
      <atom id="a2" elementType="C"
        hydrogenCount="0" x2="6.1964" y2="7.587"/>
      <atom id="a3" elementType="C"
        hydrogenCount="2" x2="4.983" y2="6.887"/>
<!-- omitted -->
      <atom id="a28" elementType="C"
        hydrogenCount="3" x2="15.777" y2="6.554"/>
      <atom id="a29" elementType="O"
        hydrogenCount="0" x2="13.388" y2="6.188"/>
    </atomArray>
    <bondArray>
      <bond atomRefs2="a1 a2" order="1"/>
      <bond atomRefs2="a2 a3" order="1"/>
      <bond atomRefs2="a3 a4" order="1"/>
<!-- omitted -->
      <bond atomRefs2="a11 a15" order="1"/>
      <bond atomRefs2="a12 a18" order="1">
        <bondStereo>W</bondStereo>
      </bond>
      <bond atomRefs2="a2 a19" order="1">
        <bondStereo>W</bondStereo>
      </bond>
      <bond atomRefs2="a5 a20" order="2"/>
      <bond atomRefs2="a17 a21" order="1"/>
      <bond atomRefs2="a21 a22" order="1"/>
<!-- omitted -->
      <bond atomRefs2="a10 a9" order="1"/>
      <bond atomRefs2="a16 a29" order="2"/>
    </bondArray>
  </molecule>
</cml>
Revised content model to allow any order of lengths, angles, torsions 2003-01-01.
Added role attribute 2003-03-19.


element molecule


Stylus Studio XML Schema Library Home
Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio®, a product from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2006 All Rights Reserved.