<?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.
-->
<jdo xmlns="https://db.apache.org/jdo/xmlns/jdo"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="https://db.apache.org/jdo/xmlns/jdo
     https://db.apache.org/jdo/xmlns/jdo_3_2.xsd">
<package name="org.apache.jdo.tck.pc.fieldtypes">
<class name="TreeSetCollections" identity-type="datastore">
<field name="TreeSetOfObject0" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="TreeSetOfObject1" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfObject2" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfSimpleClass3" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="TreeSetOfSimpleClass4" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfSimpleClass5" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfSimpleInterface6" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass">
</collection>
</field>
<field name="TreeSetOfSimpleInterface7" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfSimpleInterface8" >
<collection element-type="org.apache.jdo.tck.pc.fieldtypes.SimpleClass" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfString9" >
<collection element-type="java.lang.String">
</collection>
</field>
<field name="TreeSetOfString10" >
<collection element-type="java.lang.String" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfString11" >
<collection element-type="java.lang.String" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfDate12" >
<collection element-type="java.util.Date">
</collection>
</field>
<field name="TreeSetOfDate13" >
<collection element-type="java.util.Date" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfDate14" >
<collection element-type="java.util.Date" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfBigDecimal15" >
<collection element-type="java.math.BigDecimal">
</collection>
</field>
<field name="TreeSetOfBigDecimal16" >
<collection element-type="java.math.BigDecimal" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfBigDecimal17" >
<collection element-type="java.math.BigDecimal" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfBigInteger18" >
<collection element-type="java.math.BigInteger">
</collection>
</field>
<field name="TreeSetOfBigInteger19" >
<collection element-type="java.math.BigInteger" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfBigInteger20" >
<collection element-type="java.math.BigInteger" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfByte21" >
<collection element-type="java.lang.Byte">
</collection>
</field>
<field name="TreeSetOfByte22" >
<collection element-type="java.lang.Byte" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfByte23" >
<collection element-type="java.lang.Byte" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfDouble24" >
<collection element-type="java.lang.Double">
</collection>
</field>
<field name="TreeSetOfDouble25" >
<collection element-type="java.lang.Double" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfDouble26" >
<collection element-type="java.lang.Double" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfFloat27" >
<collection element-type="java.lang.Float">
</collection>
</field>
<field name="TreeSetOfFloat28" >
<collection element-type="java.lang.Float" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfFloat29" >
<collection element-type="java.lang.Float" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfInteger30" >
<collection element-type="java.lang.Integer">
</collection>
</field>
<field name="TreeSetOfInteger31" >
<collection element-type="java.lang.Integer" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfInteger32" >
<collection element-type="java.lang.Integer" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfLong33" >
<collection element-type="java.lang.Long">
</collection>
</field>
<field name="TreeSetOfLong34" >
<collection element-type="java.lang.Long" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfLong35" >
<collection element-type="java.lang.Long" embedded-element="false">
</collection>
</field>
<field name="TreeSetOfShort36" >
<collection element-type="java.lang.Short">
</collection>
</field>
<field name="TreeSetOfShort37" >
<collection element-type="java.lang.Short" embedded-element="true">
</collection>
</field>
<field name="TreeSetOfShort38" >
<collection element-type="java.lang.Short" embedded-element="false">
</collection>
</field>
</class>
</package>
</jdo>
