<commit_before><?xml version="1.0" encoding="UTF-8" ?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="library">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="repositories" type="RepositoriesType" minOccurs="0" maxOccurs="1" />
        <xsd:element name="options" type="OptionsType" minOccurs="1" maxOccurs="1" />
        <xsd:element name="modules" type="ModulesType" minOccurs="1" maxOccurs="1" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="RepositoriesType">
    <xsd:choice maxOccurs="unbounded">
      <xsd:element name="repository" type="RepositoryType" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="cache" type="xsd:anyURI" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            Cache folder in which VCS repositories will be checked out.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>

  <xsd:complexType name="RepositoryType">
    <xsd:sequence>
      <xsd:element name="vcs" type="VersionControlType" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="path" type="xsd:string" minOccurs="1" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="VersionControlType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="git" type="GitRepositoryType" />
      <!-- <xsd:element name="svn" type="SubversionRepositoryType" /> -->
    </xsd:choice>
  </xsd:complexType>

  <xsd:complexType name="GitRepositoryType">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:anyURI">
        <xsd:annotation>
          <xsd:documentation>
            Local filesystem name of the checkout.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="url" type="xsd:anyURI" />
      <xsd:element name="branch" type="xsd:string"/>
      <xsd:choice minOccurs="0">
        <xsd:element name="commit">
          <xsd:simpleType>
            <xsd:restriction base="xsd:hexBinary">
              <xsd:minLength value="4" />
              <xsd:maxLength value="40" />
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="SubversionRepositoryType">
    <xsd:sequence>
      <xsd:element name="url" type="xsd:anyURI"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="OptionsType">
    <xsd:sequence>
      <xsd:element name="option" type="OptionType" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="OptionType">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute name="name" type="xsd:string" />
        <xsd:attribute name="value" type="xsd:string" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>

  <xsd:complexType name="ModulesType">
    <xsd:sequence>
      <xsd:element name="module" type="xsd:string" minOccurs="1" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema><commit_msg>Allow empty module tags.<commit_after><?xml version="1.0" encoding="UTF-8" ?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="library">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="repositories" type="RepositoriesType" minOccurs="0" maxOccurs="1" />
        <xsd:element name="options" type="OptionsType" minOccurs="1" maxOccurs="1" />
        <xsd:element name="modules" type="ModulesType" minOccurs="1" maxOccurs="1" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="RepositoriesType">
    <xsd:choice maxOccurs="unbounded">
      <xsd:element name="repository" type="RepositoryType" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element name="cache" type="xsd:anyURI" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            Cache folder in which VCS repositories will be checked out.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>

  <xsd:complexType name="RepositoryType">
    <xsd:sequence>
      <xsd:element name="vcs" type="VersionControlType" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="path" type="xsd:string" minOccurs="1" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="VersionControlType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="git" type="GitRepositoryType" />
      <!-- <xsd:element name="svn" type="SubversionRepositoryType" /> -->
    </xsd:choice>
  </xsd:complexType>

  <xsd:complexType name="GitRepositoryType">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:anyURI">
        <xsd:annotation>
          <xsd:documentation>
            Local filesystem name of the checkout.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="url" type="xsd:anyURI" />
      <xsd:element name="branch" type="xsd:string"/>
      <xsd:choice minOccurs="0">
        <xsd:element name="commit">
          <xsd:simpleType>
            <xsd:restriction base="xsd:hexBinary">
              <xsd:minLength value="4" />
              <xsd:maxLength value="40" />
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="SubversionRepositoryType">
    <xsd:sequence>
      <xsd:element name="url" type="xsd:anyURI"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="OptionsType">
    <xsd:sequence>
      <xsd:element name="option" type="OptionType" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="OptionType">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute name="name" type="xsd:string" />
        <xsd:attribute name="value" type="xsd:string" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>

  <xsd:complexType name="ModulesType">
    <xsd:sequence>
      <xsd:element name="module" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>
{'fraction_non_alphanumeric': 0.16919231370098423, 'fraction_numerical': 0.008748633026089674, 'mean_word_length': 3.498945888966971, 'pattern_counts': {'":': 0, '<': 165, '<?xml version=': 2, '>': 165, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 4}, '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': '2536224', 'n_tokens_mistral': 2266, 'n_tokens_neox': 2028, 'n_words': 340}