atomicBasisFunction

<h:div class="summary">An atomicBasisFunction.</h:div>
<h:div class="description">
  <h:p>An atomic atomicBasisFunction which can be linked to atoms, eigenvalues/vectors etc. Normally contained within _basisSet_</h:p>
  <h:p>Normally these are atom-centered functions, but they can also serve as "ghost" functions which are centered on points. These can be dummy atoms so that the atomRef mechanism can still be used.</h:p>
  <h:p>This information is required to interpret the eignevector components and map them onto the atom list. However this mapping is normally implicit in the program and so it may be necessary to generate
    <h:tt>basisSet</h:tt>information for some programs before XML technology can be automatically used to link the components of the CCML doc.</h:p>
</h:div>
<h:div class="example" href="atomicBasisFunction1.xml"/>

Element Information

Model

anyCml | ANY element from ANY namespace OTHER than 'http://www.xml-cml.org/schema' | ANY element from LOCAL namespace 'No Namespace'
Children: anyCml

Attributes

QName Type Fixed Default Use Inheritable Annotation
atomRef atomRefType optional
<h:div class="summary">A reference to an atom.</h:div>
<h:div class="description">Used by bond, electron, etc.</h:div>
convention namespaceRefType optional
<h:div class="summary">A reference to a convention.</h:div>
<h:div class="description">There is no controlled vocabulary for conventions, but the author must ensure that the semantics are openly available and that there are mechanisms for implementation. The convention is inherited by all the subelements, so that a convention for
  <h:tt>molecule</h:tt>would by default extend to its
  <h:tt>bond</h:tt>and
  <h:tt>atom</h:tt>children. This can be overwritten if necessary by an explicit
  <h:tt>convention</h:tt>.
  <h:p>It may be useful to create conventions with namespaces (e.g.
    <h:tt>iupac:name</h:tt>). Use of
    <h:tt>convention</h:tt>will normally require non-STMML semantics, and should be used with caution. We would expect that conventions prefixed with "ISO" would be useful, such as ISO8601 for dateTimes.</h:p>
  <h:p>There is no default, but the conventions of STMML or the related language (e.g. CML) will be assumed.</h:p>
</h:div>
<h:div class="example" id="ex" href="convGroup1.xml"/>
dictRef namespaceRefType optional
<h:div class="summary">A reference to a dictionary entry.</h:div>
<h:div class="description">Elements in data instances such as _scalar_ may have a
  <h:tt>dictRef</h:tt>attribute to point to an entry in a dictionary. To avoid excessive use of (mutable) filenames and URIs we recommend a namespace prefix, mapped to a namespace URI in the normal manner. In this case, of course, the namespace URI must point to a real XML doc containing _entry_ elements and validated against STMML Schema.
  <h:p>Where there is concern about the dictionary becoming separated from the doc the dictionary entries can be physically included as part of the data instance and the normal XPointer addressing mechanism can be used.</h:p>
  <h:p>This attribute can also be used on _dictionary_ elements to define the namespace prefix</h:p>
</h:div>
<h:div class="example" href="dictRefGroup1.xml"/>
id idType optional
<h:div class="summary">A unique ID for an element.</h:div>
<h:div class="description">Id is used for machine identification of elements and in general should not have application semantics. It is similar to the XML ID type as containing only alphanumerics, '_', ',' and '-' and and must start with an alphabetic character. Ids are case sensitive. Ids should be unique within local scope, thus all atoms within a molecule should have unique ids, but separated molecules within a doc (such as a published article) might have identical ids. Software should be able to search local scope (e.g. all atoms within a molecule). However this is under constant review.</h:div>
l xsd:nonNegativeInteger optional
<h:div class="summary">The secondary quantum number.</h:div>
<h:div class="description">takes values 0, 1, etc.</h:div>
lm lmType optional
<h:div class="summary">symbolic represention of l amd m.</h:div>
<h:div class="description">takes avlues of s, p, px, dxy, dx2y2, f, etc.</h:div>
m xsd:integer optional
<h:div class="summary">The azimuthal quantum number.</h:div>
<h:div class="description">takes values -1, 0, 1, etc.</h:div>
n xsd:nonNegativeInteger optional
<h:div class="summary">The principal quantum number.</h:div>
<h:div class="description">Takes values 1, 2, 3, etc.</h:div>
symbol xsd:string optional
<h:div class="summary">A symbol.</h:div>
<h:div class="description">No semantics. However it should contain only ASCII characters and we may have to develop an escaping mechanism. Used on _atomicBasisFunction_, _unit_, etc.</h:div>
title xsd:string optional
<h:div class="summary">A title on an element.</h:div>
<h:div class="description">No controlled value.</h:div>
<h:div class="example" href="title1.xml"/>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.xml-cml.org/schema'

Source

<xsd:element name="atomicBasisFunction" id="el.atomicBasisFunction" substitutionGroup="anyCml">
  <xsd:annotation>
    <xsd:documentation>
      <h:div class="summary">An atomicBasisFunction.</h:div>
      <h:div class="description">
        <h:p>An atomic atomicBasisFunction which can be linked to atoms, eigenvalues/vectors etc. Normally contained within _basisSet_</h:p>
        <h:p>Normally these are atom-centered functions, but they can also serve as "ghost" functions which are centered on points. These can be dummy atoms so that the atomRef mechanism can still be used.</h:p>
        <h:p>This information is required to interpret the eignevector components and map them onto the atom list. However this mapping is normally implicit in the program and so it may be necessary to generate
          <h:tt>basisSet</h:tt>information for some programs before XML technology can be automatically used to link the components of the CCML doc.</h:p>
      </h:div>
      <h:div class="example" href="atomicBasisFunction1.xml"/>
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="anyCml"/>
      <xsd:any namespace="##other" processContents="lax"/>
      <xsd:any namespace="##local" processContents="lax"/>
    </xsd:choice>
    <xsd:attributeGroup ref="atomRef">
      <xsd:annotation>
        <xsd:documentation>
          <h:div class="specific">The atom owning this atomicBasisFunction. This reference is required to tie the reported eigenvector components to the list of atoms.</h:div>
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attributeGroup>
    <xsd:attributeGroup ref="title"/>
    <xsd:attributeGroup ref="id"/>
    <xsd:attributeGroup ref="convention"/>
    <xsd:attributeGroup ref="dictRef"/>
    <xsd:attributeGroup ref="n"/>
    <xsd:attributeGroup ref="l"/>
    <xsd:attributeGroup ref="m">
      <xsd:annotation>
        <xsd:documentation>
          <h:div class="specific">This is provided for completeness but we do not see it being widely used and the symbolic representation (lm) is more valuable.</h:div>
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attributeGroup>
    <xsd:attributeGroup ref="symbol">
      <xsd:annotation>
        <xsd:documentation>
          <h:div class="specific">This is a local annotation of the ABF and unlikely to be enumeratable. Thus a split s-orbital could have 3 ABFs with "s", "s'", "s''" but they would all have lm="s".</h:div>
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attributeGroup>
    <xsd:attributeGroup ref="lm">
      <xsd:annotation>
        <xsd:documentation>
          <h:div class="specific">This is a "standard" representation of the ABF, but not enumerated until we decide whether it can be formalised. Examples are "px", "dxy", etc. Note that d-orbitals and higher may be represented with redundant ABFs, e.g. 6 d-orbitals. The more standard the representation, the more useful this will be for searching.</h:div>
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attributeGroup>
    <xsd:anyAttribute namespace="##other" processContents="lax"/>
  </xsd:complexType>
</xsd:element>

Sample