<commit_before><xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Type">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="name" use="optional"/>
          <xs:attribute type="xs:string" name="class" use="optional"/>
          <xs:attribute type="xs:string" name="element" use="optional"/>
          <xs:attribute type="xs:float" name="mass" use="optional"/>
          <xs:attribute type="xs:string" name="def" use="optional"/>
          <xs:attribute type="xs:string" name="desc" use="optional"/>
          <xs:attribute type="xs:string" name="doi" use="optional"/>
          <xs:attribute type="xs:string" name="overrides" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Bond">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <!--- In reality, class1 and type1 should be mutually exclusive. This
          is supported in XSD 1.1 which is as of this writing not seamlessly
          supported in Python.

          For now, this is manually validated in Python code but should be
          happening here once we can access XSD 1.1
          -->
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:float" name="length" use="optional"/>
          <xs:attribute type="xs:float" name="k" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Angle">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:string" name="class3" use="optional"/>
          <xs:attribute type="xs:string" name="type3" use="optional"/>
          <xs:attribute type="xs:float" name="angle" use="optional"/>
          <xs:attribute type="xs:float" name="k" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Proper">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:string" name="class3" use="optional"/>
          <xs:attribute type="xs:string" name="type3" use="optional"/>
          <xs:attribute type="xs:string" name="class4" use="optional"/>
          <xs:attribute type="xs:string" name="type4" use="optional"/>
          <xs:attribute type="xs:float" name="c0" use="optional"/>
          <xs:attribute type="xs:float" name="c1" use="optional"/>
          <xs:attribute type="xs:float" name="c2" use="optional"/>
          <xs:attribute type="xs:float" name="c3" use="optional"/>
          <xs:attribute type="xs:float" name="c4" use="optional"/>
          <xs:attribute type="xs:float" name="c5" use="optional"/>
          <xs:attribute type="xs:float" name="c6" use="optional"/>
          <xs:attribute type="xs:float" name="k0" use="optional"/>
          <xs:attribute type="xs:float" name="k1" use="optional"/>
          <xs:attribute type="xs:float" name="k2" use="optional"/>
          <xs:attribute type="xs:float" name="k3" use="optional"/>
          <xs:attribute type="xs:float" name="k4" use="optional"/>
          <xs:attribute type="xs:float" name="k5" use="optional"/>
          <xs:attribute type="xs:float" name="k6" use="optional"/>
          <xs:attribute type="xs:float" name="phase0" use="optional"/>
          <xs:attribute type="xs:float" name="phase1" use="optional"/>
          <xs:attribute type="xs:float" name="phase2" use="optional"/>
          <xs:attribute type="xs:float" name="phase3" use="optional"/>
          <xs:attribute type="xs:float" name="phase4" use="optional"/>
          <xs:attribute type="xs:float" name="phase5" use="optional"/>
          <xs:attribute type="xs:float" name="phase6" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity0" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity1" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity2" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity3" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity4" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity5" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity6" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="PerTorsionParameter">
      <xs:complexType>
          <xs:simpleContent>
              <xs:extension base="xs:string">
                  <xs:attribute type="xs:string" name="name"/>
              </xs:extension>
          </xs:simpleContent>
      </xs:complexType>
  </xs:element>
  <xs:element name="Improper">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:string" name="class3" use="optional"/>
          <xs:attribute type="xs:string" name="type3" use="optional"/>
          <xs:attribute type="xs:string" name="class4" use="optional"/>
          <xs:attribute type="xs:string" name="type4" use="optional"/>
          <xs:attribute type="xs:float" name="c0" use="optional"/>
          <xs:attribute type="xs:float" name="c1" use="optional"/>
          <xs:attribute type="xs:float" name="c2" use="optional"/>
          <xs:attribute type="xs:float" name="c3" use="optional"/>
          <xs:attribute type="xs:float" name="c4" use="optional"/>
          <xs:attribute type="xs:float" name="c5" use="optional"/>
          <xs:attribute type="xs:float" name="k0" use="optional"/>
          <xs:attribute type="xs:float" name="k1" use="optional"/>
          <xs:attribute type="xs:float" name="k2" use="optional"/>
          <xs:attribute type="xs:float" name="k3" use="optional"/>
          <xs:attribute type="xs:float" name="k4" use="optional"/>
          <xs:attribute type="xs:float" name="k5" use="optional"/>
          <xs:attribute type="xs:float" name="phase0" use="optional"/>
          <xs:attribute type="xs:float" name="phase1" use="optional"/>
          <xs:attribute type="xs:float" name="phase2" use="optional"/>
          <xs:attribute type="xs:float" name="phase3" use="optional"/>
          <xs:attribute type="xs:float" name="phase4" use="optional"/>
          <xs:attribute type="xs:float" name="phase5" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity0" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity1" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity2" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity3" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity4" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity5" use="optional"/>
          <xs:attribute type="xs:float" name="k" use="optional"/>
          <xs:attribute type="xs:float" name="theta0" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Atom">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="type" use="optional"/>
          <xs:attribute type="xs:float" name="charge" use="optional"/>
          <xs:attribute type="xs:float" name="sigma" use="optional"/>
          <xs:attribute type="xs:float" name="epsilon" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="AtomTypes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Type" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
    <xs:unique name="nonunique_atomtype_name">
      <xs:selector xpath="Type"/>
      <xs:field xpath="@name"/>
    </xs:unique>
  </xs:element>
  <xs:element name="HarmonicBondForce">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Bond" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="HarmonicAngleForce">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Angle" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RBTorsionForce">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="Proper" minOccurs="0"/>
        <xs:element ref="Improper" minOccurs="0"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="PeriodicTorsionForce">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="Proper" minOccurs="0"/>
        <xs:element ref="Improper" minOccurs="0"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="CustomTorsionForce">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="Proper" minOccurs="0"/>
        <xs:element ref="PerTorsionParameter" minOccurs="0"/>
        <xs:element ref="Improper" minOccurs="0"/>
      </xs:choice>
      <xs:attribute type="xs:string" name="energy" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="NonbondedForce">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Atom" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:float" name="coulomb14scale" use="required"/>
      <xs:attribute type="xs:float" name="lj14scale" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="ForceField">
    <xs:complexType>
      <xs:all>
        <xs:element ref="AtomTypes" minOccurs="0"/>
        <xs:element ref="HarmonicBondForce" minOccurs="0"/>
        <xs:element ref="HarmonicAngleForce" minOccurs="0"/>
        <xs:element ref="RBTorsionForce" minOccurs="0"/>
        <xs:element ref="PeriodicTorsionForce" minOccurs="0"/>
        <xs:element ref="CustomTorsionForce" minOccurs="0"/>
        <xs:element ref="NonbondedForce" minOccurs="0"/>
      </xs:all>
    </xs:complexType>
    <xs:key name="atomtype_name_key">
      <xs:selector xpath="AtomTypes/Type" />
      <xs:field xpath="@name" />
    </xs:key>
    <xs:keyref name="missing_atom_type_in_nonbonded" refer="atomtype_name_key">
      <xs:selector xpath="NonbondedForce/Atom"/>
      <xs:field xpath="@type"/>
    </xs:keyref>
  </xs:element>
</xs:schema>
<commit_msg>First go at including urey bradley terms<commit_after><xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Type">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="name" use="optional"/>
          <xs:attribute type="xs:string" name="class" use="optional"/>
          <xs:attribute type="xs:string" name="element" use="optional"/>
          <xs:attribute type="xs:float" name="mass" use="optional"/>
          <xs:attribute type="xs:string" name="def" use="optional"/>
          <xs:attribute type="xs:string" name="desc" use="optional"/>
          <xs:attribute type="xs:string" name="doi" use="optional"/>
          <xs:attribute type="xs:string" name="overrides" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Bond">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <!--- In reality, class1 and type1 should be mutually exclusive. This
          is supported in XSD 1.1 which is as of this writing not seamlessly
          supported in Python.

          For now, this is manually validated in Python code but should be
          happening here once we can access XSD 1.1
          -->
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:float" name="length" use="optional"/>
          <xs:attribute type="xs:float" name="k" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Angle">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:string" name="class3" use="optional"/>
          <xs:attribute type="xs:string" name="type3" use="optional"/>
          <xs:attribute type="xs:float" name="angle" use="optional"/>
          <xs:attribute type="xs:float" name="k" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="UreyBradley">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:float" name="d" use="optional"/>
          <xs:attribute type="xs:float" name="k" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:string" name="type3" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="Proper">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:string" name="class3" use="optional"/>
          <xs:attribute type="xs:string" name="type3" use="optional"/>
          <xs:attribute type="xs:string" name="class4" use="optional"/>
          <xs:attribute type="xs:string" name="type4" use="optional"/>
          <xs:attribute type="xs:float" name="c0" use="optional"/>
          <xs:attribute type="xs:float" name="c1" use="optional"/>
          <xs:attribute type="xs:float" name="c2" use="optional"/>
          <xs:attribute type="xs:float" name="c3" use="optional"/>
          <xs:attribute type="xs:float" name="c4" use="optional"/>
          <xs:attribute type="xs:float" name="c5" use="optional"/>
          <xs:attribute type="xs:float" name="c6" use="optional"/>
          <xs:attribute type="xs:float" name="k0" use="optional"/>
          <xs:attribute type="xs:float" name="k1" use="optional"/>
          <xs:attribute type="xs:float" name="k2" use="optional"/>
          <xs:attribute type="xs:float" name="k3" use="optional"/>
          <xs:attribute type="xs:float" name="k4" use="optional"/>
          <xs:attribute type="xs:float" name="k5" use="optional"/>
          <xs:attribute type="xs:float" name="k6" use="optional"/>
          <xs:attribute type="xs:float" name="phase0" use="optional"/>
          <xs:attribute type="xs:float" name="phase1" use="optional"/>
          <xs:attribute type="xs:float" name="phase2" use="optional"/>
          <xs:attribute type="xs:float" name="phase3" use="optional"/>
          <xs:attribute type="xs:float" name="phase4" use="optional"/>
          <xs:attribute type="xs:float" name="phase5" use="optional"/>
          <xs:attribute type="xs:float" name="phase6" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity0" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity1" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity2" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity3" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity4" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity5" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity6" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="PerTorsionParameter">
      <xs:complexType>
          <xs:simpleContent>
              <xs:extension base="xs:string">
                  <xs:attribute type="xs:string" name="name"/>
              </xs:extension>
          </xs:simpleContent>
      </xs:complexType>
  </xs:element>
  <xs:element name="Improper">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="class1" use="optional"/>
          <xs:attribute type="xs:string" name="type1" use="optional"/>
          <xs:attribute type="xs:string" name="class2" use="optional"/>
          <xs:attribute type="xs:string" name="type2" use="optional"/>
          <xs:attribute type="xs:string" name="class3" use="optional"/>
          <xs:attribute type="xs:string" name="type3" use="optional"/>
          <xs:attribute type="xs:string" name="class4" use="optional"/>
          <xs:attribute type="xs:string" name="type4" use="optional"/>
          <xs:attribute type="xs:float" name="c0" use="optional"/>
          <xs:attribute type="xs:float" name="c1" use="optional"/>
          <xs:attribute type="xs:float" name="c2" use="optional"/>
          <xs:attribute type="xs:float" name="c3" use="optional"/>
          <xs:attribute type="xs:float" name="c4" use="optional"/>
          <xs:attribute type="xs:float" name="c5" use="optional"/>
          <xs:attribute type="xs:float" name="k0" use="optional"/>
          <xs:attribute type="xs:float" name="k1" use="optional"/>
          <xs:attribute type="xs:float" name="k2" use="optional"/>
          <xs:attribute type="xs:float" name="k3" use="optional"/>
          <xs:attribute type="xs:float" name="k4" use="optional"/>
          <xs:attribute type="xs:float" name="k5" use="optional"/>
          <xs:attribute type="xs:float" name="phase0" use="optional"/>
          <xs:attribute type="xs:float" name="phase1" use="optional"/>
          <xs:attribute type="xs:float" name="phase2" use="optional"/>
          <xs:attribute type="xs:float" name="phase3" use="optional"/>
          <xs:attribute type="xs:float" name="phase4" use="optional"/>
          <xs:attribute type="xs:float" name="phase5" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity0" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity1" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity2" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity3" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity4" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity5" use="optional"/>
          <xs:attribute type="xs:float" name="k" use="optional"/>
          <xs:attribute type="xs:float" name="theta0" use="optional"/>
          <xs:attribute type="xs:float" name="periodicity" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="Atom">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute type="xs:string" name="type" use="optional"/>
          <xs:attribute type="xs:float" name="charge" use="optional"/>
          <xs:attribute type="xs:float" name="sigma" use="optional"/>
          <xs:attribute type="xs:float" name="epsilon" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="AtomTypes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Type" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
    <xs:unique name="nonunique_atomtype_name">
      <xs:selector xpath="Type"/>
      <xs:field xpath="@name"/>
    </xs:unique>
  </xs:element>
  <xs:element name="HarmonicBondForce">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Bond" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="HarmonicAngleForce">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Angle" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AmoebaUreyBradleyForce">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="UreyBradley" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RBTorsionForce">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="Proper" minOccurs="0"/>
        <xs:element ref="Improper" minOccurs="0"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="PeriodicTorsionForce">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="Proper" minOccurs="0"/>
        <xs:element ref="Improper" minOccurs="0"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="CustomTorsionForce">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element ref="Proper" minOccurs="0"/>
        <xs:element ref="PerTorsionParameter" minOccurs="0"/>
        <xs:element ref="Improper" minOccurs="0"/>
      </xs:choice>
      <xs:attribute type="xs:string" name="energy" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="NonbondedForce">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Atom" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:float" name="coulomb14scale" use="required"/>
      <xs:attribute type="xs:float" name="lj14scale" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="ForceField">
    <xs:complexType>
      <xs:all>
        <xs:element ref="AtomTypes" minOccurs="0"/>
        <xs:element ref="HarmonicBondForce" minOccurs="0"/>
        <xs:element ref="HarmonicAngleForce" minOccurs="0"/>
        <xs:element ref="RBTorsionForce" minOccurs="0"/>
        <xs:element ref="PeriodicTorsionForce" minOccurs="0"/>
        <xs:element ref="CustomTorsionForce" minOccurs="0"/>
        <xs:element ref="NonbondedForce" minOccurs="0"/>
      </xs:all>
    </xs:complexType>
    <xs:key name="atomtype_name_key">
      <xs:selector xpath="AtomTypes/Type" />
      <xs:field xpath="@name" />
    </xs:key>
    <xs:keyref name="missing_atom_type_in_nonbonded" refer="atomtype_name_key">
      <xs:selector xpath="NonbondedForce/Atom"/>
      <xs:field xpath="@type"/>
    </xs:keyref>
  </xs:element>
</xs:schema>

{'fraction_non_alphanumeric': 0.18493150684931506, 'fraction_numerical': 0.009407492985641195, 'mean_word_length': 3.4487885462555066, 'pattern_counts': {'":': 0, '<': 499, '<?xml version=': 0, '>': 499, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4114286', 'n_tokens_mistral': 7660, 'n_tokens_neox': 7589, 'n_words': 1373}