<?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

      https://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.
-->
<!DOCTYPE jdoquery SYSTEM "file:/javax/jdo/jdoquery_3_2.dtd">
<jdoquery>
  <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
  <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
  <package 
    name="org.apache.jdo">
    <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    <interface 
      name="Datastore">
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <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>
      <query
        name="QUERY"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    </interface>
    <class
      name="ApplicationCapable">
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <query
        name="QUERY"/>
      <query
        name="QUERY"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
      <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
    </class>
  </package>
  <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
  <extension vendor-name="SUNW" key="KEY" value="VALUE"/>
</jdoquery>
