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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://doctrine-project.org/schemas/orm/doctrine-mapping"
    xmlns:orm="http://doctrine-project.org/schemas/orm/doctrine-mapping"
    elementFormDefault="qualified">

  <xs:annotation> 
    <xs:documentation><![CDATA[ 
       This is the XML Schema for the object/relational 
       mapping file used by the Doctrine ORM.
     ]]></xs:documentation>
  </xs:annotation>

  <xs:element name="doctrine-mapping">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="mapped-superclass" type="orm:mapped-superclass" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="entity" type="orm:entity" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:complexType name="emptyType"/> 
  
  <xs:complexType name="cascade-type">
    <xs:sequence>
      <xs:element name="cascade-all" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-persist" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-merge" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-remove" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-refresh" type="orm:emptyType" minOccurs="0"/> 
    </xs:sequence>
  </xs:complexType>
  
  <xs:simpleType name="lifecycle-callback-type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="prePersist"/>
      <xs:enumeration value="postPersist"/>
      <xs:enumeration value="preUpdate"/>
      <xs:enumeration value="postUpdate"/>
      <xs:enumeration value="preRemove"/>
      <xs:enumeration value="postRemove"/>
      <xs:enumeration value="postLoad"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:complexType name="lifecycle-callback">
    <xs:attribute name="type" type="orm:lifecycle-callback-type" use="required" />
    <xs:attribute name="method" type="xs:NMTOKEN" use="required" />
  </xs:complexType>
  
  <xs:complexType name="lifecycle-callbacks">
    <xs:sequence>
      <xs:element name="lifecycle-callback" type="orm:lifecycle-callback" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="entity">
    <xs:sequence>
      <xs:element name="indexes" type="orm:indexes" minOccurs="0"/>
      <xs:element name="unique-constraints" type="orm:unique-constraints" minOccurs="0"/>
      <xs:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
      <xs:element name="discriminator-map" type="orm:discriminator-map" minOccurs="0"/>
      <xs:element name="lifecycle-callbacks" type="orm:lifecycle-callbacks" minOccurs="0" maxOccurs="1" />
      <xs:element name="id" type="orm:id" />
      <xs:element name="field" type="orm:field" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="one-to-one" type="orm:one-to-one" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="one-to-many" type="orm:one-to-many" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="many-to-one" type="orm:many-to-one" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="many-to-many" type="orm:many-to-many" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="table" type="xs:NMTOKEN" />
    <xs:attribute name="schema" type="xs:NMTOKEN" />
    <xs:attribute name="repository-class" type="xs:NMTOKEN"/>
    <xs:attribute name="inheritance-type" type="orm:inheritance-type"/>
  </xs:complexType>
  
  <xs:complexType name="mapped-superclass" >
    <xs:complexContent>
      <xs:extension base="orm:entity"/>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:simpleType name="inheritance-type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SINGLE_TABLE"/>
      <xs:enumeration value="JOINED"/>
      <xs:enumeration value="TABLE_PER_CLASS"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="generator-strategy"> 
    <xs:restriction base="xs:token"> 
      <xs:enumeration value="TABLE"/> 
      <xs:enumeration value="SEQUENCE"/> 
      <xs:enumeration value="IDENTITY"/> 
      <xs:enumeration value="AUTO"/> 
    </xs:restriction> 
  </xs:simpleType>
  
  <xs:simpleType name="fk-action"> 
    <xs:restriction base="xs:token"> 
      <xs:enumeration value="CASCADE"/> 
      <xs:enumeration value="RESTRICT"/> 
      <xs:enumeration value="SET_NULL"/>
    </xs:restriction> 
  </xs:simpleType>
  
  <xs:simpleType name="fetch-type"> 
    <xs:restriction base="xs:token"> 
      <xs:enumeration value="EAGER"/> 
      <xs:enumeration value="LAZY"/>
    </xs:restriction> 
  </xs:simpleType> 

  <xs:complexType name="field">
    <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
    <xs:attribute name="type" type="xs:NMTOKEN" use="required" />
    <xs:attribute name="column" type="xs:NMTOKEN" />
    <xs:attribute name="length" type="xs:NMTOKEN" />
    <xs:attribute name="unique" type="xs:boolean" default="false" />
    <xs:attribute name="nullable" type="xs:boolean" default="false" />
    <xs:attribute name="version" type="xs:boolean" />
  </xs:complexType>
  
  <xs:complexType name="discriminator-column">
    <xs:attribute name="name" type="xs:NMTOKEN" use="required" /><commit_msg>[2.0] DDC-278 - Add missing "columnDefinition" attribute to field tag of XML Schema for Doctrine Mapping.<commit_after><?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://doctrine-project.org/schemas/orm/doctrine-mapping"
    xmlns:orm="http://doctrine-project.org/schemas/orm/doctrine-mapping"
    elementFormDefault="qualified">

  <xs:annotation> 
    <xs:documentation><![CDATA[ 
       This is the XML Schema for the object/relational 
       mapping file used by the Doctrine ORM.
     ]]></xs:documentation>
  </xs:annotation>

  <xs:element name="doctrine-mapping">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="mapped-superclass" type="orm:mapped-superclass" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="entity" type="orm:entity" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:complexType name="emptyType"/> 
  
  <xs:complexType name="cascade-type">
    <xs:sequence>
      <xs:element name="cascade-all" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-persist" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-merge" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-remove" type="orm:emptyType" minOccurs="0"/> 
      <xs:element name="cascade-refresh" type="orm:emptyType" minOccurs="0"/> 
    </xs:sequence>
  </xs:complexType>
  
  <xs:simpleType name="lifecycle-callback-type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="prePersist"/>
      <xs:enumeration value="postPersist"/>
      <xs:enumeration value="preUpdate"/>
      <xs:enumeration value="postUpdate"/>
      <xs:enumeration value="preRemove"/>
      <xs:enumeration value="postRemove"/>
      <xs:enumeration value="postLoad"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:complexType name="lifecycle-callback">
    <xs:attribute name="type" type="orm:lifecycle-callback-type" use="required" />
    <xs:attribute name="method" type="xs:NMTOKEN" use="required" />
  </xs:complexType>
  
  <xs:complexType name="lifecycle-callbacks">
    <xs:sequence>
      <xs:element name="lifecycle-callback" type="orm:lifecycle-callback" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="entity">
    <xs:sequence>
      <xs:element name="indexes" type="orm:indexes" minOccurs="0"/>
      <xs:element name="unique-constraints" type="orm:unique-constraints" minOccurs="0"/>
      <xs:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
      <xs:element name="discriminator-map" type="orm:discriminator-map" minOccurs="0"/>
      <xs:element name="lifecycle-callbacks" type="orm:lifecycle-callbacks" minOccurs="0" maxOccurs="1" />
      <xs:element name="id" type="orm:id" />
      <xs:element name="field" type="orm:field" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="one-to-one" type="orm:one-to-one" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="one-to-many" type="orm:one-to-many" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="many-to-one" type="orm:many-to-one" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="many-to-many" type="orm:many-to-many" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="table" type="xs:NMTOKEN" />
    <xs:attribute name="schema" type="xs:NMTOKEN" />
    <xs:attribute name="repository-class" type="xs:NMTOKEN"/>
    <xs:attribute name="inheritance-type" type="orm:inheritance-type"/>
  </xs:complexType>
  
  <xs:complexType name="mapped-superclass" >
    <xs:complexContent>
      <xs:extension base="orm:entity"/>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:simpleType name="inheritance-type">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SINGLE_TABLE"/>
      <xs:enumeration value="JOINED"/>
      <xs:enumeration value="TABLE_PER_CLASS"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="generator-strategy"> 
    <xs:restriction base="xs:token"> 
      <xs:enumeration value="TABLE"/> 
      <xs:enumeration value="SEQUENCE"/> 
      <xs:enumeration value="IDENTITY"/> 
      <xs:enumeration value="AUTO"/> 
    </xs:restriction> 
  </xs:simpleType>
  
  <xs:simpleType name="fk-action"> 
    <xs:restriction base="xs:token"> 
      <xs:enumeration value="CASCADE"/> 
      <xs:enumeration value="RESTRICT"/> 
      <xs:enumeration value="SET_NULL"/>
    </xs:restriction> 
  </xs:simpleType>
  
  <xs:simpleType name="fetch-type"> 
    <xs:restriction base="xs:token"> 
      <xs:enumeration value="EAGER"/> 
      <xs:enumeration value="LAZY"/>
    </xs:restriction> 
  </xs:simpleType> 

  <xs:complexType name="field">
    <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
    <xs:attribute name="type" type="xs:NMTOKEN" use="required" />
    <xs:attribute name="column" type="xs:NMTOKEN" />
    <xs:attribute name="length" type="xs:NMTOKEN" />
    <xs:attribute name="unique" type="xs:boolean" default="false" />
    <xs:attribute name="nullable" type="xs:boolean" default="false" />
    <xs:attribute name="version" type="xs:boolean" />
    <xs:attribute name="columnDefinition" type="xs:string" />
  </xs:complexType>
  
  <xs:complexType name="discriminator-column">
    <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
{'fraction_non_alphanumeric': 0.18199374655140702, 'fraction_numerical': 0.0054257862791980875, 'mean_word_length': 4.397022332506204, 'pattern_counts': {'":': 0, '<': 222, '<?xml version=': 2, '>': 222, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 6}, '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': '2089053', 'n_tokens_mistral': 3804, 'n_tokens_neox': 3681, 'n_words': 559}