<?xml version = '1.0' encoding = 'UTF-8'?>
<object-persistence version="Eclipse Persistence Services - 0.1-incubation" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <name>Employee</name>
   <class-mapping-descriptors>
      <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
         <class>org.eclipse.persistence.testing.models.employee.domain.Address</class>
         <alias>Address</alias>
         <events xsi:type="event-policy"/>
         <querying xsi:type="query-policy"/>
         <attribute-mappings>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>id</attribute-name>
               <field name="myns:ADDRESS_ID/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>street</attribute-name>
               <field name="myns:STREET/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>city</attribute-name>
               <field name="myns:CITY/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>province</attribute-name>
               <field name="myns:PROVINCE/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>country</attribute-name>
               <field name="myns:COUNTRY/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>postalCode</attribute-name>
               <field name="myns:P_CODE/text()" xsi:type="node"/>
            </attribute-mapping>
         </attribute-mappings>
         <descriptor-type>aggregate</descriptor-type>
         <instantiation/>
         <copying xsi:type="instantiation-copy-policy"/>
         <change-policy xsi:type="deferred-detection-change-policy"/>
         <datatype>myns:ADDRESS</datatype>
         <namespace-resolver>
            <namespaces>
               <namespace>
                  <prefix>myns</prefix>
                  <namespace-uri>http://xmlns.oracle.com/ias/xsds/employee</namespace-uri>
               </namespace>
            </namespaces>
         </namespace-resolver>
      </class-mapping-descriptor>
      <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
         <class>org.eclipse.persistence.testing.models.employee.domain.Employee</class>
         <alias></alias>
         <primary-key>
            <field name="myns:EMP_ID/text()" xsi:type="node"/>
         </primary-key>
         <events xsi:type="event-policy"/>
         <querying xsi:type="query-policy"/>
         <attribute-mappings>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>id</attribute-name>
               <field name="myns:EMP_ID/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>firstName</attribute-name>
               <field name="myns:F_NAME/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>lastName</attribute-name>
               <field name="myns:L_NAME/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>gender</attribute-name>
               <field name="myns:GENDER/text()" xsi:type="node"/>
               <converter xsi:type="object-type-converter">
                  <type-mappings>
                     <type-mapping>
                        <object-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Male</object-value>
                        <data-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">M</data-value>
                     </type-mapping>
                     <type-mapping>
                        <object-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">Female</object-value>
                        <data-value xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">F</data-value>
                     </type-mapping>
                  </type-mappings>
               </converter>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-composite-object-mapping">
               <attribute-name>address</attribute-name>
               <get-method>getAddress</get-method>
               <set-method>setAddress</set-method>
               <reference-class>org.eclipse.persistence.testing.models.employee.domain.Address</reference-class>
               <field name="myns:ADDRESS" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-one-to-many-mapping">
               <attribute-name>managedEmployees</attribute-name>
               <reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
               <container xsi:type="list-container-policy">
                  <collection-type>java.util.Vector</collection-type>
               </container>
               <indirection xsi:type="value-holder-indirection-policy"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>salary</attribute-name>
               <field name="myns:SALARY/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-transformation-mapping">
               <attribute-name>normalHours</attribute-name>
               <attribute-transformer>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursNSTransformer</attribute-transformer>
               <field-transformations>
                  <field-transformation xsi:type="transformer-based-field-transformation">
                     <field name="myns:END_TIME/text()" xsi:type="node">
                        <schema-type>{http://www.w3.org/2001/XMLSchema}time</schema-type>
                     </field>
                     <transformer-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursNSTransformer</transformer-class>
                  </field-transformation>
                  <field-transformation xsi:type="transformer-based-field-transformation">
                     <field name="myns:START_TIME/text()" xsi:type="node">
                        <schema-type>{http://www.w3.org/2001/XMLSchema}time</schema-type>
                     </field>
                     <transformer-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.NormalHoursNSTransformer</transformer-class>
                  </field-transformation>
               </field-transformations>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-composite-object-mapping">
               <attribute-name>period</attribute-name>
               <reference-class>org.eclipse.persistence.testing.models.employee.domain.EmploymentPeriod</reference-class>
               <field name="myns:PERIOD" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-composite-direct-collection-mapping">
               <attribute-name>responsibilitiesList</attribute-name>
               <get-method>getResponsibilitiesList</get-method>
               <set-method>setResponsibilitiesList</set-method>
               <field name="myns:RESPONS/text()" xsi:type="node"/>
               <container xsi:type="list-container-policy">
                  <collection-type>java.util.Vector</collection-type>
               </container>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-one-to-one-mapping">
               <attribute-name>manager</attribute-name>
               <reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
               <foreign-key>
                  <field-reference>
                     <source-field name="myns:MANAGER_ID/text()" xsi:type="node"/>
                     <target-field name="myns:EMP_ID/text()" xsi:type="node"/>
                  </field-reference>
               </foreign-key>
               <foreign-key-fields>
                  <field name="myns:MANAGER_ID/text()" xsi:type="node"/>
               </foreign-key-fields>
               <indirection xsi:type="value-holder-indirection-policy"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-composite-collection-mapping">
               <attribute-name>phoneNumbers</attribute-name>
               <get-method>getPhoneNumbers</get-method>
               <set-method>setPhoneNumbers</set-method>
               <reference-class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</reference-class>
               <field name="myns:PHONES/myns:PHONE" xsi:type="node"/>
               <container xsi:type="list-container-policy">
                  <collection-type>java.util.Vector</collection-type>
               </container>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-one-to-many-mapping">
               <attribute-name>projects</attribute-name>
               <reference-class>org.eclipse.persistence.testing.models.employee.domain.Project</reference-class>
               <source-foreign-key-fields>
                  <field name="text()" xsi:type="node"/>
               </source-foreign-key-fields>
               <target-foreign-key-fields>
                  <field name="myns:PROJ_ID/text()" xsi:type="node"/>
               </target-foreign-key-fields>
               <foreign-key-grouping-element name="myns:PROJECTS/myns:PROJ_ID" xsi:type="node"/>
               <container xsi:type="list-container-policy">
                  <collection-type>java.util.Vector</collection-type>
               </container>
               <indirection xsi:type="value-holder-indirection-policy"/>
            </attribute-mapping>
         </attribute-mappings>
         <descriptor-type>independent</descriptor-type>
         <amendment>
            <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeNSAmendments</amendment-class>
            <amendment-method>addToEmployeeDescriptor</amendment-method>
         </amendment>
         <instantiation/>
         <copying xsi:type="instantiation-copy-policy"/>
         <change-policy xsi:type="deferred-detection-change-policy"/>
         <datatype>myns:EMPLOYEE</datatype>
         <namespace-resolver>
            <namespaces>
               <namespace>
                  <prefix>myns</prefix>
                  <namespace-uri>http://xmlns.oracle.com/ias/xsds/employee</namespace-uri>
               </namespace>
            </namespaces>
         </namespace-resolver>
      </class-mapping-descriptor>
      <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
         <class>org.eclipse.persistence.testing.models.employee.domain.EmploymentPeriod</class>
         <alias>EmploymentPeriod</alias>
         <events xsi:type="event-policy"/>
         <querying xsi:type="query-policy"/>
         <attribute-mappings>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>endDate</attribute-name>
               <field name="myns:END_DATE/text()" xsi:type="node">
                  <schema-type>{http://www.w3.org/2001/XMLSchema}date</schema-type>
               </field>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>startDate</attribute-name>
               <field name="myns:START_DATE/text()" xsi:type="node">
                  <schema-type>{http://www.w3.org/2001/XMLSchema}date</schema-type>
               </field>
            </attribute-mapping>
         </attribute-mappings>
         <descriptor-type>aggregate</descriptor-type>
         <instantiation/>
         <copying xsi:type="instantiation-copy-policy"/>
         <change-policy xsi:type="deferred-detection-change-policy"/>
         <datatype>myns:PERIOD</datatype>
         <namespace-resolver>
            <namespaces>
               <namespace>
                  <prefix>myns</prefix>
                  <namespace-uri>http://xmlns.oracle.com/ias/xsds/employee</namespace-uri>
               </namespace>
            </namespaces>
         </namespace-resolver>
      </class-mapping-descriptor>
      <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
         <class>org.eclipse.persistence.testing.models.employee.domain.LargeProject</class>
         <alias></alias>
         <inheritance xsi:type="qname-inheritance-policy">
            <parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class>
         </inheritance>
         <events xsi:type="event-policy"/>
         <querying xsi:type="query-policy"/>
         <attribute-mappings>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>budget</attribute-name>
               <field name="myns:BUDGET/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>milestoneVersion</attribute-name>
               <field name="myns:MILESTONE/text()" xsi:type="node">
                  <schema-type>{http://www.w3.org/2001/XMLSchema}dateTime</schema-type>
               </field>
            </attribute-mapping>
         </attribute-mappings>
         <descriptor-type>independent</descriptor-type>
         <amendment>
            <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeNSAmendments</amendment-class>
            <amendment-method>addToLargeProjectDescriptor</amendment-method>
         </amendment>
         <instantiation/>
         <copying xsi:type="instantiation-copy-policy"/>
         <change-policy xsi:type="deferred-detection-change-policy"/>
         <datatype>myns:PROJECT</datatype>
         <namespace-resolver>
            <namespaces>
               <namespace>
                  <prefix>myns</prefix>
                  <namespace-uri>http://xmlns.oracle.com/ias/xsds/employee</namespace-uri>
               </namespace>
            </namespaces>
         </namespace-resolver>
      </class-mapping-descriptor>
      <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
         <class>org.eclipse.persistence.testing.models.employee.domain.PhoneNumber</class>
         <alias>PhoneNumber</alias>
         <events xsi:type="event-policy"/>
         <querying xsi:type="query-policy"/>
         <attribute-mappings>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>type</attribute-name>
               <field name="@TYPE" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>areaCode</attribute-name>
               <field name="myns:AREA_CODE/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>number</attribute-name>
               <field name="myns:P_NUMBER/text()" xsi:type="node"/>
            </attribute-mapping>
         </attribute-mappings>
         <descriptor-type>aggregate</descriptor-type>
         <instantiation/>
         <copying xsi:type="instantiation-copy-policy"/>
         <change-policy xsi:type="deferred-detection-change-policy"/>
         <datatype>myns:PHONE</datatype>
         <namespace-resolver>
            <namespaces>
               <namespace>
                  <prefix>myns</prefix>
                  <namespace-uri>http://xmlns.oracle.com/ias/xsds/employee</namespace-uri>
               </namespace>
            </namespaces>
         </namespace-resolver>
      </class-mapping-descriptor>
      <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
         <class>org.eclipse.persistence.testing.models.employee.domain.Project</class>
         <alias></alias>
         <primary-key>
            <field name="myns:PROJ_ID/text()" xsi:type="node"/>
         </primary-key>
         <inheritance xsi:type="qname-inheritance-policy">
            <class-indicator-field name="@TYPE" xsi:type="column"/>
            <class-indicator-mappings>
               <class-indicator-mapping>
                  <class>org.eclipse.persistence.testing.models.employee.domain.SmallProject</class>
                  <class-indicator xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">S</class-indicator>
               </class-indicator-mapping>
               <class-indicator-mapping>
                  <class>org.eclipse.persistence.testing.models.employee.domain.LargeProject</class>
                  <class-indicator xsi:type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema">L</class-indicator>
               </class-indicator-mapping>
            </class-indicator-mappings>
         </inheritance>
         <events xsi:type="event-policy"/>
         <querying xsi:type="query-policy"/>
         <attribute-mappings>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>id</attribute-name>
               <field name="myns:PROJ_ID/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>name</attribute-name>
               <field name="myns:PROJ_NAME/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-direct-mapping">
               <attribute-name>description</attribute-name>
               <field name="myns:DESCRIP/text()" xsi:type="node"/>
            </attribute-mapping>
            <attribute-mapping xsi:type="eis-one-to-one-mapping">
               <attribute-name>teamLeader</attribute-name>
               <reference-class>org.eclipse.persistence.testing.models.employee.domain.Employee</reference-class>
               <foreign-key>
                  <field-reference>
                     <source-field name="myns:LEADER_ID/text()" xsi:type="node"/>
                     <target-field name="myns:EMP_ID/text()" xsi:type="node"/>
                  </field-reference>
               </foreign-key>
               <foreign-key-fields>
                  <field name="myns:LEADER_ID/text()" xsi:type="node"/>
               </foreign-key-fields>
               <indirection xsi:type="value-holder-indirection-policy"/>
            </attribute-mapping>
         </attribute-mappings>
         <descriptor-type>independent</descriptor-type>
         <amendment>
            <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeNSAmendments</amendment-class>
            <amendment-method>addToProjectDescriptor</amendment-method>
         </amendment>
         <instantiation/>
         <copying xsi:type="instantiation-copy-policy"/>
         <change-policy xsi:type="deferred-detection-change-policy"/>
         <datatype>myns:PROJECT</datatype>
         <namespace-resolver>
            <namespaces>
               <namespace>
                  <prefix>myns</prefix>
                  <namespace-uri>http://xmlns.oracle.com/ias/xsds/employee</namespace-uri>
               </namespace>
            </namespaces>
         </namespace-resolver>
      </class-mapping-descriptor>
      <class-mapping-descriptor xsi:type="eis-class-mapping-descriptor">
         <class>org.eclipse.persistence.testing.models.employee.domain.SmallProject</class>
         <alias></alias>
         <inheritance xsi:type="qname-inheritance-policy">
            <parent-class>org.eclipse.persistence.testing.models.employee.domain.Project</parent-class>
         </inheritance>
         <events xsi:type="event-policy"/>
         <querying xsi:type="query-policy"/>
         <descriptor-type>independent</descriptor-type>
         <amendment>
            <amendment-class>org.eclipse.persistence.testing.models.employee.eis.xmlfile.EmployeeNSAmendments</amendment-class>
            <amendment-method>addToSmallProjectDescriptor</amendment-method>
         </amendment>
         <instantiation/>
         <copying xsi:type="instantiation-copy-policy"/>
         <change-policy xsi:type="deferred-detection-change-policy"/>
         <datatype>myns:PROJECT</datatype>
         <namespace-resolver>
            <namespaces>
               <namespace>
                  <prefix>myns</prefix>
                  <namespace-uri>http://xmlns.oracle.com/ias/xsds/employee</namespace-uri>
               </namespace>
            </namespaces>
         </namespace-resolver>
      </class-mapping-descriptor>
   </class-mapping-descriptors>
   <login xsi:type="eis-login">
      <connection-spec-class>org.eclipse.persistence.eis.EISConnectionSpec</connection-spec-class>
   </login>
</object-persistence>
