<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<jdo xmlns="http://java.sun.com/xml/ns/jdo/jdo"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdo 
                         http://java.sun.com/xml/ns/jdo/jdo_2_2.xsd">
  <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
  <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
  <package 
    name="org.apache.jdo"
    catalog="CATALOG"
    schema="SCHEMA">
    <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    <interface 
      name="Datastore" 
      table="TABLE" 
      identity-type="datastore"
      objectid-class="ObjectidClass"  
      requires-extent="true"
      detachable="true"
      embedded-only="true"
      catalog="CATALOG"
      schema="SCHEMA">
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <datastore-identity
        column="COLUMN"
        strategy="anything"
        sequence="SEQUENCE">
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <column/>
        <column/>        
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      </datastore-identity>
      <primary-key/>
      <inheritance
        strategy="anything">
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <join/>
        <discriminator
          column="COLUMN"
          value="VALUE"
          strategy="anything"
          indexed="true">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <column/>
          <column/>
          <index/>        
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </discriminator>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      </inheritance>
      <version
        strategy="anything"
        column="COLUMN"
        indexed="true">
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <column/>
        <column/>
        <index/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      </version>
      <join/>
      <foreign-key/>
      <index/>
      <unique/>
      <property
        name="property1"
        persistence-modifier="persistent"
        default-fetch-group="true"
        load-fetch-group="load"
        null-value="default"
        dependent="true"
        embedded="true"
        primary-key="true"
        value-strategy="valuestrategy"
        sequence="sequence"
        serialized="true"
        field-type="FieldType"
        table="TABLE"
        column="COLUMN"
        delete-action="restrict"
        indexed="true"
        unique="true"
        mapped-by="mappedby"
        recursion-depth="fetchdepth"
        field-name="fieldname">
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <array
          element-type="ArrayElementType"
          embedded-element="true"
          dependent-element="true"
          serialized-element="true">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </array>  
        <join
          table="JOINTABLE"
          column="JOINCOLUMN"
          outer="true"
          delete-action="restrict"
          indexed="true"
          unique="true">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <primary-key
            name="JOINPRIMARYKEY"
            column="JOINPRIMARYKEYCOLUMN">
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <column
              name="PRIMARYKEYCOLUMN"
              target="TARGET"
              target-field="TARGETFIELD"
              jdbc-type="JDBCTYPE"
              sql-type="SQLTYPE"
              length="17"
              scale="12"
              allows-null="true"
              default-value="DEFAULTVALUE"
              insert-value="INSERTVALUE">
              <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
              <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            </column>
            <column/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          </primary-key>
          <column
              allows-null="false"/>
          <column/>
          <foreign-key
            table="TABLE"
            deferred="true"
            delete-action="cascade"
            update-action="cascade"
            unique="true"
            name="foreignkey">
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <column/>
            <column/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          </foreign-key>
          <index
            name="INDEXNAME"
            table="TABLE"
            unique="true">
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <field name="name5"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          </index>  
          <unique
            name="UNIQUENAME"
            table="TABLE"
            deferred="true">
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <property name="name11"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
            <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          </unique>  
        </join>  
        <embedded
          owner-field="owner"
          null-indicator-column="COLUMN"
          null-indicator-value="NULL">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <field name="name13"/>
          <field name="name14"/>
          <property name="name15"/>
          <property name="name16"/>          
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </embedded>
        <element
          column="COLUMN"
          table="TABLE"
          delete-action="restrict"
          update-action="restrict"
          indexed="true"
          unique="true"
          mapped-by="anything">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <embedded/>
          <column/>
          <column/>
          <foreign-key/>
          <index/>
          <unique/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </element>
        <key
          column="COLUMN"
          table="TABLE"
          delete-action="restrict"
          indexed="true"
          unique="true"
          mapped-by="anything">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <embedded/>
          <column/>
          <column/>
          <foreign-key/>
          <index/>
          <unique/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </key>  
        <value
          column="COLUMN"
          table="TABLE"
          delete-action="restrict"
          indexed="true"
          unique="true"
          mapped-by="anything">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <embedded/>
          <column/>
          <column/>
          <foreign-key/>
          <index/>
          <unique/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </value>
        <order
          column="COLUMN"
          mapped-by="anything">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <column/>
          <column/>
          <index/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </order> 
        <column/>
        <column/>
        <foreign-key/>
        <index/>
        <unique/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      </property>  
      <property
        name="property2"
        persistence-modifier="transactional"
        default-fetch-group="false"
        null-value="exception"
        dependent="false"
        embedded="false"
        primary-key="false"
        serialized="false"
        delete-action="cascade"
        indexed="false"
        unique="false">
        <collection
          element-type="CollectionElementType"
          embedded-element="true"
          dependent-element="true"
          serialized-element="true">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </collection>  
      </property>  
      <property
        name="property3"
        persistence-modifier="none"
        null-value="none"
        delete-action="null"
        indexed="unique">
        <map
          key-type="mapkeytype"
          embedded-key="true"
          dependent-key="true"
          serialized-key="true"
          value-type="mapvaluetype"
          embedded-value="true"
          dependent-value="true"
          serialized-value="true">
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
          <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        </map>
      </property>
      <property
        name="property4"
        delete-action="default"/>
      <property
        name="property5"
        delete-action="none"/>
      <query
        name="QUERY"
        language="javax.jdo.JDOQL"
        unmodifiable="true"
        unique="true"
        result-class="ResultClass">
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        SELECT name FROM Employee
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      </query>
      <fetch-group
        name="FetchGroup"
        post-load="true">
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <property name="name17"/>
        <field name="name18"/>
        <field name="name19"/>
        <property name="name20"/>
        <field name="name21"/>
        <property name="name22"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      </fetch-group>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    </interface>
    <interface
      name="Interface2"
      table="TABLE"
      identity-type="application"
      requires-extent="false"
      detachable="false"
      embedded-only="false"/>
    <class
      name="ApplicationCapable"
      identity-type="application"
      objectid-class="ObjectidClass"
      table="TABLE"
      requires-extent="true"
      persistence-capable-superclass="true"
      detachable="true"
      embedded-only="true"
      persistence-modifier="persistence-capable"
      catalog="CATALOG"
      schema="SCHEMA">
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <implements
        name="Interface1">
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <property name="name23"/>
        <property name="name24"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
        <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      </implements>
      <implements
        name="Interface2"/>
      <datastore-identity/>
      <primary-key/>
      <inheritance/>
      <version/>
      <join/>
      <join/>
      <foreign-key/>
      <foreign-key/>
      <index/>
      <index/>
      <unique/>
      <unique/>
      <column/>
      <column/>
      <field
          name="name"
          primary-key="true">
        <extension vendor-name="sunw" key="index" value="btree"/>
      </field>
      <field name="salary" default-fetch-group="true"/>
      <field name="dept">
        <extension vendor-name="sunw" key="inverse" value="emps"/>
      </field>
      <field name="boss"/>
      <property name="name25"/>
      <property name="name26"/>
      <query name="namedQuery1"/>
      <query name="namedQuery2"/>
      <fetch-group name="FetchGroup2"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    </class>
    <class
        name="DatastoreAware"
        identity-type="datastore"
        requires-extent="false"
        persistence-capable-superclass="false"
        detachable="false"
        embedded-only="false"
        persistence-modifier="persistence-aware"
        catalog="CATALOG"
        schema="SCHEMA"/>
    <class
        name="NondurableNonpersistent"
        identity-type="nondurable"
        persistence-modifier="non-persistent"/>
    <sequence
      name="sequence1"
      datastore-sequence="SEQUENCE"
      factory-class="FactoryClass"
      strategy="nontransactional">
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    </sequence>
    <sequence
      name="sequence2"
      strategy="contiguous"/>
    <sequence
      name="sequence3"
      strategy="noncontiguous"/>
  </package>
  <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
</jdo>
