<!--

    Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm">
   <xml-schema attribute-form-default="UNQUALIFIED" element-form-default="UNQUALIFIED" namespace="">
      <xml-ns namespace-uri="http://www.example.com/uriA" prefix="prefixA"/>
  </xml-schema>
   <xml-enums>
        <xml-enum java-enum="org.eclipse.persistence.testing.jaxb.externalizedmetadata.multiplebindings.simple.Department" value="java.lang.String">
            <xml-enum-value java-enum-value="DEV">dev</xml-enum-value>
        </xml-enum>
   </xml-enums>
   <java-types>
      <java-type name="org.eclipse.persistence.testing.jaxb.externalizedmetadata.multiplebindings.simple.Employee">
         <xml-root-element name="empRoot3"/>
         <xml-properties>
                <xml-property name="5" value="E" />
                <xml-property name="6" value="F"/>
                <xml-property name="2" value="F"/>
          </xml-properties>
       </java-type>
       <java-type name="org.eclipse.persistence.testing.jaxb.externalizedmetadata.multiplebindings.simple.Person">
          <xml-type name="person-type"/>
       </java-type>
      <!--java-type name="org.eclipse.persistence.testing.jaxb.externalizedmetadata.multiplebindings.simple.Phone">
      </java-type-->
    </java-types>
</xml-bindings>
