123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- <?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:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
- </xs:element>
-
- <xs:complexType name="emptyType">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <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:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </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:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="type" type="orm:lifecycle-callback-type" use="required" />
- <xs:attribute name="method" type="xs:NMTOKEN" use="required" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="lifecycle-callbacks">
- <xs:sequence>
- <xs:element name="lifecycle-callback" type="orm:lifecycle-callback" minOccurs="1" maxOccurs="unbounded" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="named-query">
- <xs:attribute name="name" type="xs:string" use="required" />
- <xs:attribute name="query" type="xs:string" use="required" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="named-queries">
- <xs:sequence>
- <xs:element name="named-query" type="orm:named-query" minOccurs="1" maxOccurs="unbounded" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </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="named-queries" type="orm:named-queries" minOccurs="0" maxOccurs="1" />
- <xs:element name="id" type="orm:id" minOccurs="0" maxOccurs="unbounded" />
- <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:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </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:string"/>
- <xs:attribute name="inheritance-type" type="orm:inheritance-type"/>
- <xs:attribute name="change-tracking-policy" type="orm:change-tracking-policy" />
- <xs:attribute name="read-only" type="xs:boolean" default="false" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="mapped-superclass" >
- <xs:complexContent>
- <xs:extension base="orm:entity">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
-
- <xs:simpleType name="change-tracking-policy">
- <xs:restriction base="xs:token">
- <xs:enumeration value="DEFERRED_IMPLICIT"/>
- <xs:enumeration value="DEFERRED_EXPLICIT"/>
- <xs:enumeration value="NOTIFY"/>
- </xs:restriction>
- </xs:simpleType>
-
- <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:enumeration value="EXTRALAZY"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="field">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="type" type="xs:NMTOKEN" default="string" />
- <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="column-definition" type="xs:string" />
- <xs:attribute name="precision" type="xs:integer" use="optional" />
- <xs:attribute name="scale" type="xs:integer" use="optional" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="discriminator-column">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="type" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="field-name" type="xs:NMTOKEN" />
- <xs:attribute name="length" type="xs:NMTOKEN" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="unique-constraint">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
- <xs:attribute name="columns" type="xs:string" use="required"/>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="unique-constraints">
- <xs:sequence>
- <xs:element name="unique-constraint" type="orm:unique-constraint" minOccurs="1" maxOccurs="unbounded"/>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="index">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
- <xs:attribute name="columns" type="xs:string" use="required"/>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="indexes">
- <xs:sequence>
- <xs:element name="index" type="orm:index" minOccurs="1" maxOccurs="unbounded"/>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="discriminator-mapping">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="value" type="xs:NMTOKEN" use="required"/>
- <xs:attribute name="class" type="xs:string" use="required"/>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="discriminator-map">
- <xs:sequence>
- <xs:element name="discriminator-mapping" type="orm:discriminator-mapping" minOccurs="1" maxOccurs="unbounded"/>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="generator">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="strategy" type="orm:generator-strategy" use="optional" default="AUTO" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="id">
- <xs:sequence>
- <xs:element name="generator" type="orm:generator" minOccurs="0" />
- <xs:element name="sequence-generator" type="orm:sequence-generator" minOccurs="0" maxOccurs="1" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="type" type="xs:NMTOKEN" />
- <xs:attribute name="column" type="xs:NMTOKEN" />
- <xs:attribute name="association-key" type="xs:boolean" default="false" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="sequence-generator">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="sequence-name" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="allocation-size" type="xs:integer" use="optional" default="1" />
- <xs:attribute name="initial-value" type="xs:integer" use="optional" default="1" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="inverse-join-columns">
- <xs:sequence>
- <xs:element name="join-column" type="orm:join-column" minOccurs="1" maxOccurs="unbounded" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="join-column">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="referenced-column-name" type="xs:NMTOKEN" use="optional" default="id" />
- <xs:attribute name="unique" type="xs:boolean" default="false" />
- <xs:attribute name="nullable" type="xs:boolean" default="true" />
- <xs:attribute name="on-delete" type="orm:fk-action" />
- <xs:attribute name="on-update" type="orm:fk-action" />
- <xs:attribute name="column-definition" type="xs:string" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="join-columns">
- <xs:sequence>
- <xs:element name="join-column" type="orm:join-column" minOccurs="1" maxOccurs="unbounded" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="join-table">
- <xs:sequence>
- <xs:element name="join-columns" type="orm:join-columns" />
- <xs:element name="inverse-join-columns" type="orm:join-columns" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="schema" type="xs:NMTOKEN" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="order-by">
- <xs:sequence>
- <xs:element name="order-by-field" type="orm:order-by-field" minOccurs="1" maxOccurs="unbounded" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="order-by-field">
- <xs:sequence>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="direction" type="orm:order-by-direction" default="ASC" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:simpleType name="order-by-direction">
- <xs:restriction base="xs:token">
- <xs:enumeration value="ASC"/>
- <xs:enumeration value="DESC"/>
- </xs:restriction>
- </xs:simpleType>
-
- <xs:complexType name="many-to-many">
- <xs:sequence>
- <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
- <xs:element name="join-table" type="orm:join-table" minOccurs="0" />
- <xs:element name="order-by" type="orm:order-by" minOccurs="0" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="target-entity" type="xs:string" use="required" />
- <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="mapped-by" type="xs:NMTOKEN" />
- <xs:attribute name="index-by" type="xs:NMTOKEN" />
- <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
- <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="one-to-many">
- <xs:sequence>
- <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
- <xs:element name="order-by" type="orm:order-by" minOccurs="0" />
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="target-entity" type="xs:string" use="required" />
- <xs:attribute name="mapped-by" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="index-by" type="xs:NMTOKEN" />
- <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
- <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="many-to-one">
- <xs:sequence>
- <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
- <xs:choice minOccurs="0" maxOccurs="1">
- <xs:element name="join-column" type="orm:join-column"/>
- <xs:element name="join-columns" type="orm:join-columns"/>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:choice>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="target-entity" type="xs:string" use="required" />
- <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
- <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
- <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- <xs:complexType name="one-to-one">
- <xs:sequence>
- <xs:element name="cascade" type="orm:cascade-type" minOccurs="0" />
- <xs:choice minOccurs="0" maxOccurs="1">
- <xs:element name="join-column" type="orm:join-column"/>
- <xs:element name="join-columns" type="orm:join-columns"/>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:choice>
- <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="field" type="xs:NMTOKEN" use="required" />
- <xs:attribute name="target-entity" type="xs:string" use="required" />
- <xs:attribute name="mapped-by" type="xs:NMTOKEN" />
- <xs:attribute name="inversed-by" type="xs:NMTOKEN" />
- <xs:attribute name="orphan-removal" type="xs:boolean" default="false" />
- <xs:attribute name="fetch" type="orm:fetch-type" default="LAZY" />
- <xs:anyAttribute namespace="##other"/>
- </xs:complexType>
-
- </xs:schema>
|