<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://xmlns.oracle.com/weblogic/persistence-configuration" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
  <xs:import namespace="java:weblogic.descriptor"/>
  <xs:complexType name="custom-detach-stateType">
    <xs:complexContent>
      <xs:extension base="per:detach-stateType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="detach-stateType"/>
  <xs:complexType name="propertiesType">
    <xs:sequence>
      <xs:element name="property" maxOccurs="unbounded" type="per:propertyType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="propertyType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="value" type="xs:string" minOccurs="0" nillable="true"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="log-orphaned-key-actionType">
    <xs:complexContent>
      <xs:extension base="per:orphaned-key-actionType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="channel" type="xs:string" minOccurs="0" nillable="true" default="openjpa.Runtime"/>
          <xs:element name="level" type="xs:string" minOccurs="0" nillable="true" default="4"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="orphaned-key-actionType"/>
  <xs:complexType name="none-orphaned-key-actionType">
    <xs:complexContent>
      <xs:extension base="per:orphaned-key-actionType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-query-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="query-cacheType">
  	<xs:sequence>
  		<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
  	</xs:sequence>
  </xs:complexType>
  <xs:complexType name="class-resolverType"/>
  <xs:complexType name="built-in-dbdictionaryType">
    <xs:complexContent>
      <xs:extension base="per:db-dictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="char-type-name" type="xs:string" minOccurs="0" nillable="true" default="CHAR"/>
          <xs:element name="outer-join-clause" type="xs:string" minOccurs="0" nillable="true" default="LEFT OUTER JOIN"/>
          <xs:element name="binary-type-name" type="xs:string" minOccurs="0" nillable="true" default="BINARY"/>
          <xs:element name="clob-type-name" type="xs:string" minOccurs="0" nillable="true" default="CLOB"/>
          <xs:element name="supports-locking-with-distinct-clause" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="simulate-locking" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="system-tables" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="concatenate-function" type="xs:string" minOccurs="0" nillable="true" default="({0}||{1})"/>
          <xs:element name="substring-function-name" type="xs:string" minOccurs="0" nillable="true" default="SUBSTR"/>
          <xs:element name="supports-query-timeout" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="use-set-bytes-for-blobs" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="max-constraint-name-length" type="xs:int" minOccurs="0" nillable="false" default="18"/>
          <xs:element name="search-string-escape" type="xs:string" minOccurs="0" nillable="true" default="\\"/>
          <xs:element name="supports-cascade-update-action" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="string-length-function" type="xs:string" minOccurs="0" nillable="true" default="CHAR_LENGTH({0})"/>
          <xs:element name="long-varbinary-type-name" type="xs:string" minOccurs="0" nillable="true" default="LONGVARBINARY"/>
          <xs:element name="supports-unique-constraints" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-restrict-delete-action" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="trim-leading-function" type="xs:string" minOccurs="0" nillable="true" default="LTRIM(LEADING '{1}' from {0})"/>
          <xs:element name="supports-default-delete-action" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="next-sequence-query" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="long-varchar-type-name" type="xs:string" minOccurs="0" nillable="true" default="LONGVARCHAR"/>
          <xs:element name="cross-join-clause" type="xs:string" minOccurs="0" nillable="true" default="CROSS JOIN"/>
          <xs:element name="max-embedded-clob-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
          <xs:element name="date-type-name" type="xs:string" minOccurs="0" nillable="true" default="DATE"/>
          <xs:element name="supports-schema-for-get-tables" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-alter-table-with-drop-column" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="current-time-function" type="xs:string" minOccurs="0" nillable="true" default="CURRENT_TIME"/>
          <xs:element name="requires-condition-for-cross-join" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="ref-type-name" type="xs:string" minOccurs="0" nillable="true" default="REF"/>
          <xs:element name="concatenate-delimiter" type="xs:string" minOccurs="0" nillable="true" default="'OPENJPATOKEN'"/>
          <xs:element name="catalog-separator" type="xs:string" minOccurs="0" nillable="true" default="."/>
          <xs:element name="supports-mod-operator" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="schema-case" type="xs:string" minOccurs="0" nillable="true" default="upper"/>
          <xs:element name="java-object-type-name" type="xs:string" minOccurs="0" nillable="true" default="JAVA_OBJECT"/>
          <xs:element name="driver-vendor" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="supports-locking-with-multiple-tables" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="max-column-name-length" type="xs:int" minOccurs="0" nillable="false" default="128"/>
          <xs:element name="double-type-name" type="xs:string" minOccurs="0" nillable="true" default="DOUBLE"/>
          <xs:element name="use-get-string-for-clobs" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="decimal-type-name" type="xs:string" minOccurs="0" nillable="true" default="DECIMAL"/>
          <xs:element name="smallint-type-name" type="xs:string" minOccurs="0" nillable="true" default="SMALLINT"/>
          <xs:element name="date-precision" type="xs:int" minOccurs="0" nillable="false" default="1000000"/>
          <xs:element name="supports-alter-table-with-add-column" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="bit-type-name" type="xs:string" minOccurs="0" nillable="true" default="BIT"/>
          <xs:element name="supports-null-table-for-get-columns" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="to-upper-case-function" type="xs:string" minOccurs="0" nillable="true" default="UPPER({0}))"/>
          <xs:element name="supports-select-end-index" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="supports-auto-assign" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="store-large-numbers-as-strings" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="constraint-name-mode" type="xs:string" minOccurs="0" nillable="true" default="before"/>
          <xs:element name="allows-alias-in-bulk-clause" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-select-for-update" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="distinct-count-column-separator" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="supports-subselect" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="time-type-name" type="xs:string" minOccurs="0" nillable="true" default="TIME"/>
          <xs:element name="auto-assign-type-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="use-get-object-for-blobs" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="max-auto-assign-name-length" type="xs:int" minOccurs="0" nillable="false" default="31"/>
          <xs:element name="validation-sql" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="struct-type-name" type="xs:string" minOccurs="0" nillable="true" default="STRUCT"/>
          <xs:element name="varchar-type-name" type="xs:string" minOccurs="0" nillable="true" default="VARCHAR"/>
          <xs:element name="range-position" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="supports-restrict-update-action" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="auto-assign-clause" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="supports-multiple-nontransactional-result-sets" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="bit-length-function" type="xs:string" minOccurs="0" nillable="true" default="(OCTET_LENGTH({0}) * 8)"/>
          <xs:element name="create-primary-keys" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="null-type-name" type="xs:string" minOccurs="0" nillable="true" default="NULL"/>
          <xs:element name="float-type-name" type="xs:string" minOccurs="0" nillable="true" default="FLOAT"/>
          <xs:element name="use-get-bytes-for-blobs" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="table-types" type="xs:string" minOccurs="0" nillable="true" default="TABLE"/>
          <xs:element name="numeric-type-name" type="xs:string" minOccurs="0" nillable="true" default="NUMERIC"/>
          <xs:element name="table-for-update-clause" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="integer-type-name" type="xs:string" minOccurs="0" nillable="true" default="INTEGER"/>
          <xs:element name="blob-type-name" type="xs:string" minOccurs="0" nillable="true" default="BLOB"/>
          <xs:element name="for-update-clause" type="xs:string" minOccurs="0" nillable="true" default="FOR UPDATE"/>
          <xs:element name="boolean-type-name" type="xs:string" minOccurs="0" nillable="true" default="BOOLEAN"/>
          <xs:element name="use-get-best-row-identifier-for-primary-keys" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="supports-foreign-keys" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="drop-table-sql" type="xs:string" minOccurs="0" nillable="true" default="DROP TABLE {0}"/>
          <xs:element name="use-set-string-for-clobs" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="supports-locking-with-order-clause" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="platform" type="xs:string" minOccurs="0" nillable="true" default="Generic"/>
          <xs:element name="fixed-size-type-names" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-chars-as-numbers" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="max-indexes-per-table" type="xs:int" minOccurs="0" nillable="false" default="2147483647"/>
          <xs:element name="requires-cast-for-comparisons" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="supports-having" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-locking-with-outer-join" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-correlated-subselect" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-null-table-for-get-imported-keys" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="bigint-type-name" type="xs:string" minOccurs="0" nillable="true" default="BIGINT"/>
          <xs:element name="last-generated-key-query" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="reserved-words" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="supports-null-update-action" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="use-schema-name" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-deferred-constraints" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="real-type-name" type="xs:string" minOccurs="0" nillable="true" default="REAL"/>
          <xs:element name="requires-alias-for-subselect" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="supports-null-table-for-get-index-info" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="trim-trailing-function" type="xs:string" minOccurs="0" nillable="true" default="TRIM(TRAILING '{1}' FROM {0}))"/>
          <xs:element name="supports-locking-with-select-range" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="storage-limitations-fatal" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="supports-locking-with-inner-join" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="current-timestamp-function" type="xs:string" minOccurs="0" nillable="true" default="CURRENT_TIMESTAMP"/>
          <xs:element name="cast-function" type="xs:string" minOccurs="0" nillable="true" default="CAST({0} AS {1})"/>
          <xs:element name="other-type-name" type="xs:string" minOccurs="0" nillable="true" default="OTHER"/>
          <xs:element name="max-index-name-length" type="xs:int" minOccurs="0" nillable="false" default="128"/>
          <xs:element name="distinct-type-name" type="xs:string" minOccurs="0" nillable="true" default="DISTINCT"/>
          <xs:element name="character-column-size" type="xs:int" minOccurs="0" nillable="false" default="255"/>
          <xs:element name="varbinary-type-name" type="xs:string" minOccurs="0" nillable="true" default="VARBINARY"/>
          <xs:element name="max-table-name-length" type="xs:int" minOccurs="0" nillable="false" default="128"/>
          <xs:element name="close-pool-sql" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="current-date-function" type="xs:string" minOccurs="0" nillable="true" default="CURRENT_DATE"/>
          <xs:element name="join-syntax" type="xs:string" minOccurs="0" nillable="true" default="sql92"/>
          <xs:element name="max-embedded-blob-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
          <xs:element name="trim-both-function" type="xs:string" minOccurs="0" nillable="true" default="TRIM(BOTH '{1}' FROM {0})"/>
          <xs:element name="supports-select-start-index" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="to-lower-case-function" type="xs:string" minOccurs="0" nillable="true" default="LOWER({0})"/>
          <xs:element name="array-type-name" type="xs:string" minOccurs="0" nillable="true" default="ARRAY"/>
          <xs:element name="inner-join-clause" type="xs:string" minOccurs="0" nillable="true" default="INNER JOIN"/>
          <xs:element name="supports-default-update-action" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-schema-for-get-columns" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="tinyint-type-name" type="xs:string" minOccurs="0" nillable="true" default="TINYINT"/>
          <xs:element name="supports-null-table-for-get-primary-keys" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="system-schemas" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="requires-cast-for-math-functions" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="supports-null-delete-action" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="requires-auto-commit-for-meta-data" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="timestamp-type-name" type="xs:string" minOccurs="0" nillable="true" default="TIMESTAMP"/>
          <xs:element name="initialization-sql" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="supports-cascade-delete-action" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="supports-timestamp-nanos" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="derby-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="shutdown-on-close" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="db-dictionaryType">
  	<xs:sequence>
  		<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
  	</xs:sequence>
  </xs:complexType>
  <xs:complexType name="kodo-compatibilityType">
    <xs:sequence>
      <xs:element name="copy-object-ids" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:element name="close-on-managed-commit" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
      <xs:element name="validate-true-checks-store" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:element name="validate-false-returns-hollow" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
      <xs:element name="strict-identity-values" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:element name="quoted-numbers-in-queries" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="client-broker-factoryType">
    <xs:complexContent>
      <xs:extension base="per:broker-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="broker-factoryType"/>
  <xs:complexType name="deprecated-jdo-mapping-defaultsType">
    <xs:complexContent>
      <xs:extension base="per:mapping-defaultsType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-class-criteria" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="base-class-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="version-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="discriminator-column-name" type="xs:string" minOccurs="0" nillable="true" default="jdoClass"/>
          <xs:element name="subclass-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="index-version" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="default-missing-info" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="index-logical-foreign-keys" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="null-indicator-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="foreign-key-delete-action" type="xs:int" minOccurs="0" nillable="false" default="1"/>
          <xs:element name="join-foreign-key-delete-action" type="xs:string" minOccurs="0" nillable="true" default="1"/>
          <xs:element name="discriminator-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="defer-constraints" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="field-strategies" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="version-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="data-store-id-column-name" type="xs:string" minOccurs="0" nillable="true" default="jdoId"/>
          <xs:element name="index-discriminator" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="store-enum-ordinal" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="order-lists" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="order-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="add-null-indicator" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="store-unmapped-object-id-string" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="mapping-defaultsType"/>
  <xs:complexType name="mapping-factoryType"/>
  <xs:complexType name="custom-data-cache-managerType">
    <xs:complexContent>
      <xs:extension base="per:data-cache-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="data-cache-managerType"/>
  <xs:complexType name="sql-factoryType"/>
  <xs:complexType name="operation-order-update-managerType">
    <xs:complexContent>
      <xs:extension base="per:update-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="update-managerType"/>
  <xs:complexType name="persistence-configurationType">
    <xs:sequence>
      <xs:element name="persistence-unit-configuration" maxOccurs="unbounded" type="per:persistence-unit-configurationType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="persistence-unit-configurationType">
    <xs:sequence>
      <xs:element name="aggregate-listeners" type="per:aggregate-listenersType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="auto-clear" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="all"/>
            <xs:enumeration value="datastore"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="auto-detaches" type="per:auto-detachType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:choice>
        <xs:element name="default-broker-factory" type="per:default-broker-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="abstract-store-broker-factory" type="per:abstract-store-broker-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="client-broker-factory" type="per:client-broker-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="jdbc-broker-factory" type="per:jdbc-broker-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-broker-factory" type="per:custom-broker-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="default-broker-impl" type="per:default-broker-implType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="kodo-broker" type="per:kodo-brokerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-broker-impl" type="per:custom-broker-implType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="default-class-resolver" type="per:default-class-resolverType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-class-resolver" type="per:custom-class-resolverType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="default-compatibility" type="per:default-compatibilityType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="compatibility" type="per:kodo-compatibilityType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>      
        <xs:element name="custom-compatibility" type="per:custom-compatibilityType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice> 	
      <xs:element name="connection2-driver-name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection2-password" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection2-properties" type="per:propertiesType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="connection2-url" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection2-user-name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection-decorators" type="per:connection-decoratorsType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="connection-driver-name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection-factory2-name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection-factory2-properties" type="per:propertiesType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="connection-factory-mode" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="local"/>
            <xs:enumeration value="managed"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="connection-factory-name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection-factory-properties" type="per:propertiesType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="connection-password" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection-properties" type="per:propertiesType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="connection-retain-mode" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="always"/>
            <xs:enumeration value="on-demand"/>
            <xs:enumeration value="persistence-manager"/>
            <xs:enumeration value="transaction"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="connection-url" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="connection-user-name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="data-caches" type="per:data-cachesType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:choice>
        <xs:element name="default-data-cache-manager" type="per:default-data-cache-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="kodo-data-cache-manager" type="per:kodo-data-cache-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="data-cache-manager-impl" type="per:data-cache-manager-implType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-data-cache-manager" type="per:custom-data-cache-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="data-cache-timeout" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
      <xs:choice>
        <xs:element name="access-dictionary" type="per:access-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="db2-dictionary" type="per:db2-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="derby-dictionary" type="per:derby-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="empress-dictionary" type="per:empress-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="foxpro-dictionary" type="per:foxpro-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="hsql-dictionary" type="per:hsql-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="informix-dictionary" type="per:informix-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="jdatastore-dictionary" type="per:jdatastore-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="mysql-dictionary" type="per:mysql-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="oracle-dictionary" type="per:oracle-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="pointbase-dictionary" type="per:pointbase-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="postgres-dictionary" type="per:postgres-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="sql-server-dictionary" type="per:sql-server-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="sybase-dictionary" type="per:sybase-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-dictionary" type="per:custom-dictionaryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
       </xs:choice>
       <xs:choice> 
        <xs:element name="default-detach-state" type="per:default-detach-stateType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="detach-options-loaded" type="per:detach-options-loadedType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="detach-options-fetch-groups" type="per:detach-options-fetch-groupsType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="detach-options-all" type="per:detach-options-allType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-detach-state" type="per:custom-detach-stateType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="default-driver-data-source" type="per:default-driver-data-sourceType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="kodo-pooling-data-source" type="per:kodo-pooling-data-sourceType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="simple-driver-data-source" type="per:simple-driver-data-sourceType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-driver-data-source" type="per:custom-driver-data-sourceType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="stack-execution-context-name-provider"            type="per:stack-execution-context-name-providerType"            minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="transaction-name-execution-context-name-provider" type="per:transaction-name-execution-context-name-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="user-object-execution-context-name-provider"      type="per:user-object-execution-context-name-providerType"      minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="none-profiling"   type="per:none-profilingType"   minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="local-profiling"  type="per:local-profilingType"  minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="export-profiling" type="per:export-profilingType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="gui-profiling"    type="per:gui-profilingType"    minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="none-jmx"  type="per:none-jmxType"  minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="local-jmx" type="per:local-jmxType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="gui-jmx"   type="per:gui-jmxType"   minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="jmx2-jmx"  type="per:jmx2-jmxType"  minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="mx4j1-jmx" type="per:mx4j1-jmxType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="wls81-jmx" type="per:wls81-jmxType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="dynamic-data-structs" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:element name="eager-fetch-mode" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="join"/>
            <xs:enumeration value="multiple"/>
            <xs:enumeration value="none"/>
            <xs:enumeration value="parallel"/>
            <xs:enumeration value="single"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="fetch-batch-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
      <xs:element name="fetch-direction" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="forward"/>
            <xs:enumeration value="reverse"/>
            <xs:enumeration value="unknown"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="fetch-groups" type="per:fetch-groupsType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="filter-listeners" type="per:filter-listenersType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="flush-before-queries" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="false"/>
            <xs:enumeration value="true"/>
            <xs:enumeration value="with-connection"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ignore-changes" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:element name="inverse-manager" type="per:inverse-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="jdbc-listeners" type="per:jdbc-listenersType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:choice>
        <xs:element name="default-lock-manager" type="per:default-lock-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="pessimistic-lock-manager" type="per:pessimistic-lock-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="none-lock-manager" type="per:none-lock-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="single-jvm-exclusive-lock-manager" type="per:single-jvm-exclusive-lock-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="version-lock-manager" type="per:version-lock-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-lock-manager" type="per:custom-lock-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="lock-timeout" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
      <xs:choice>
        <xs:element name="commons-log-factory" type="per:commons-log-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="log4j-log-factory" type="per:log4j-log-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="log-factory-impl" type="per:log-factory-implType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="none-log-factory" type="per:none-log-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-log" type="per:custom-logType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="lrs-size" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="last"/>
            <xs:enumeration value="query"/>
            <xs:enumeration value="unknown"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="mapping" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:choice>
        <xs:element name="default-mapping-defaults" type="per:default-mapping-defaultsType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="deprecated-jdo-mapping-defaults" type="per:deprecated-jdo-mapping-defaultsType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="mapping-defaults-impl" type="per:mapping-defaults-implType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="persistence-mapping-defaults" type="per:persistence-mapping-defaultsType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-mapping-defaults" type="per:custom-mapping-defaultsType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="extension-deprecated-jdo-mapping-factory" type="per:extension-deprecated-jdo-mapping-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="kodo-persistence-mapping-factory" type="per:kodo-persistence-mapping-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="mapping-file-deprecated-jdo-mapping-factory" type="per:mapping-file-deprecated-jdo-mapping-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="orm-file-jdor-mapping-factory" type="per:orm-file-jdor-mapping-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="table-deprecated-jdo-mapping-factory" type="per:table-deprecated-jdo-mapping-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="table-jdor-mapping-factory" type="per:table-jdor-mapping-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-mapping-factory" type="per:custom-mapping-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="default-meta-data-factory" type="per:default-meta-data-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="jdo-meta-data-factory" type="per:jdo-meta-data-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="deprecated-jdo-meta-data-factory" type="per:deprecated-jdo-meta-data-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="kodo-persistence-meta-data-factory" type="per:kodo-persistence-meta-data-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-meta-data-factory" type="per:custom-meta-data-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>      
        <xs:element name="default-meta-data-repository" type="per:default-meta-data-repositoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="kodo-mapping-repository" type="per:kodo-mapping-repositoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-meta-data-repository" type="per:custom-meta-data-repositoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="multithreaded" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:element name="nontransactional-read" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
      <xs:element name="nontransactional-write" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:element name="optimistic" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
      <xs:choice>
        <xs:element name="default-orphaned-key-action" type="per:default-orphaned-key-actionType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="log-orphaned-key-action" type="per:log-orphaned-key-actionType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="exception-orphaned-key-action" type="per:exception-orphaned-key-actionType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="none-orphaned-key-action" type="per:none-orphaned-key-actionType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-orphaned-key-action" type="per:custom-orphaned-key-actionType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="http-transport" type="per:http-transportType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="tcp-transport" type="per:tcp-transportType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-persistence-server" type="per:custom-persistence-serverType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="default-proxy-manager" type="per:default-proxy-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="profiling-proxy-manager" type="per:profiling-proxy-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="proxy-manager-impl" type="per:proxy-manager-implType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-proxy-manager" type="per:custom-proxy-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="query-caches" type="per:query-cachesType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:choice>
        <xs:element name="default-query-compilation-cache" type="per:default-query-compilation-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="cache-map" type="per:cache-mapType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="concurrent-hash-map" type="per:concurrent-hash-mapType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-query-compilation-cache" type="per:custom-query-compilation-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="read-lock-level" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="none"/>
            <xs:enumeration value="read"/>
            <xs:enumeration value="write"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:choice>
        <xs:element name="jms-remote-commit-provider" type="per:jms-remote-commit-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="single-jvm-remote-commit-provider" type="per:single-jvm-remote-commit-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="tcp-remote-commit-provider" type="per:tcp-remote-commit-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="cluster-remote-commit-provider" type="per:cluster-remote-commit-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-remote-commit-provider" type="per:custom-remote-commit-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="restore-state" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="all"/>
            <xs:enumeration value="false"/>
            <xs:enumeration value="immutable"/>
            <xs:enumeration value="none"/>
            <xs:enumeration value="true"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="result-set-type" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="forward-only"/>
            <xs:enumeration value="scroll-insensitive"/>
            <xs:enumeration value="scroll-sensitive"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="retain-state" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
      <xs:element name="retry-class-registration" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
      <xs:choice>
        <xs:element name="default-savepoint-manager" type="per:default-savepoint-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="in-memory-savepoint-manager" type="per:in-memory-savepoint-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="jdbc3-savepoint-manager" type="per:jdbc3-savepoint-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="oracle-savepoint-manager" type="per:oracle-savepoint-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-savepoint-manager" type="per:custom-savepoint-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="schema" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:choice>
        <xs:element name="default-schema-factory" type="per:default-schema-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="dynamic-schema-factory" type="per:dynamic-schema-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="file-schema-factory" type="per:file-schema-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="lazy-schema-factory" type="per:lazy-schema-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="table-schema-factory" type="per:table-schema-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-schema-factory" type="per:custom-schema-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="schemas" type="per:schemasType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:choice>
        <xs:element name="class-table-jdbc-seq" type="per:class-table-jdbc-seqType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="native-jdbc-seq" type="per:native-jdbc-seqType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="table-jdbc-seq" type="per:table-jdbc-seqType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="time-seeded-seq" type="per:time-seeded-seqType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="value-table-jdbc-seq" type="per:value-table-jdbc-seqType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-seq" type="per:custom-seqType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:choice>
        <xs:element name="default-sql-factory" type="per:default-sql-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="kodo-sql-factory" type="per:kodo-sql-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-sql-factory" type="per:custom-sql-factoryType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>
      <xs:element name="subclass-fetch-mode" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="join"/>
            <xs:enumeration value="multiple"/>
            <xs:enumeration value="none"/>
            <xs:enumeration value="parallel"/>
            <xs:enumeration value="single"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="synchronize-mappings" type="xs:string" minOccurs="0" nillable="true" default="false"/>
      <xs:element name="transaction-isolation" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="default"/>
            <xs:enumeration value="none"/>
            <xs:enumeration value="read-committed"/>
            <xs:enumeration value="read-uncommitted"/>
            <xs:enumeration value="repeatable-read"/>
            <xs:enumeration value="serializable"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="transaction-mode" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="local"/>
            <xs:enumeration value="managed"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      
      <xs:choice>
        <xs:element name="default-update-manager" type="per:default-update-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="constraint-update-manager" type="per:constraint-update-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="batching-operation-order-update-manager" type="per:batching-operation-order-update-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="operation-order-update-manager" type="per:operation-order-update-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="table-lock-update-manager" type="per:table-lock-update-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
        <xs:element name="custom-update-manager" type="per:custom-update-managerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      </xs:choice>

      <xs:element name="write-lock-level" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="none"/>
            <xs:enumeration value="read"/>
            <xs:enumeration value="write"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="aggregate-listenersType">
    <xs:sequence>
      <xs:element name="custom-aggregate-listener" maxOccurs="unbounded" type="per:custom-aggregate-listenerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="custom-aggregate-listenerType">
    <xs:complexContent>
      <xs:extension base="per:aggregate-listenerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="aggregate-listenerType"/>
  <xs:complexType name="auto-detachType">
    <xs:sequence>
      <xs:element name="auto-detach" maxOccurs="unbounded" type="xs:string" minOccurs="0" nillable="true"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="default-broker-factoryType">
    <xs:complexContent>
      <xs:extension base="per:broker-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="abstract-store-broker-factoryType">
    <xs:complexContent>
      <xs:extension base="per:broker-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="jdbc-broker-factoryType">
    <xs:complexContent>
      <xs:extension base="per:broker-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-broker-factoryType">
    <xs:complexContent>
      <xs:extension base="per:broker-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-broker-implType">
    <xs:complexContent>
      <xs:extension base="per:broker-implType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="broker-implType"/>
  <xs:complexType name="kodo-brokerType">
    <xs:complexContent>
      <xs:extension base="per:broker-implType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="large-transaction" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="auto-clear" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="detach-state" type="xs:int" minOccurs="0" nillable="false" default="1"/>
          <xs:element name="nontransactional-read" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="retain-state" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="evict-from-data-cache" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="detached-new" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="optimistic" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="nontransactional-write" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="sync-with-managed-transactions" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="multithreaded" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="populate-data-cache" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="ignore-changes" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="auto-detach" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="restore-state" type="xs:int" minOccurs="0" nillable="false" default="1"/>
          <xs:element name="order-dirty-objects" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-broker-implType">
    <xs:complexContent>
      <xs:extension base="per:broker-implType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-class-resolverType">
    <xs:complexContent>
      <xs:extension base="per:class-resolverType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-class-resolverType">
    <xs:complexContent>
      <xs:extension base="per:class-resolverType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-compatibilityType">
    <xs:complexContent>
      <xs:extension base="per:persistence-compatibilityType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="persistence-compatibilityType"/>
  <xs:complexType name="custom-compatibilityType">
    <xs:complexContent>
      <xs:extension base="per:persistence-compatibilityType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="connection-decoratorsType">
    <xs:sequence>
      <xs:element name="custom-connection-decorator" maxOccurs="unbounded" type="per:custom-connection-decoratorType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="custom-connection-decoratorType">
    <xs:complexContent>
      <xs:extension base="per:connection-decoratorType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="connection-decoratorType"/>
  <xs:complexType name="data-cachesType">
    <xs:sequence>
      <xs:element name="default-data-cache" maxOccurs="unbounded" type="per:default-data-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="kodo-concurrent-data-cache" maxOccurs="unbounded" type="per:kodo-concurrent-data-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="gem-fire-data-cache" maxOccurs="unbounded" type="per:gem-fire-data-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="lru-data-cache" maxOccurs="unbounded" type="per:lru-data-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="tangosol-data-cache" maxOccurs="unbounded" type="per:tangosol-data-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="custom-data-cache" maxOccurs="unbounded" type="per:custom-data-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="default-data-cacheType">
    <xs:complexContent>
      <xs:extension base="per:data-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="data-cacheType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="kodo-concurrent-data-cacheType">
    <xs:complexContent>
      <xs:extension base="per:data-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="cache-size" type="xs:int" minOccurs="0" nillable="false" default="1000"/>
          <xs:element name="soft-reference-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
          <xs:element name="eviction-schedule" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="gem-fire-data-cacheType">
    <xs:complexContent>
      <xs:extension base="per:data-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="gem-fire-cache-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="eviction-schedule" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="lru-data-cacheType">
    <xs:complexContent>
      <xs:extension base="per:data-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="cache-size" type="xs:int" minOccurs="0" nillable="false" default="1000"/>
          <xs:element name="soft-reference-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
          <xs:element name="eviction-schedule" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="tangosol-data-cacheType">
    <xs:complexContent>
      <xs:extension base="per:data-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="clear-on-close" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="tangosol-cache-type" type="xs:string" minOccurs="0" nillable="true" default="named"/>
          <xs:element name="tangosol-cache-name" type="xs:string" minOccurs="0" nillable="true" default="kodo"/>
          <xs:element name="eviction-schedule" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-data-cacheType">
    <xs:complexContent>
      <xs:extension base="per:data-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-data-cache-managerType">
    <xs:complexContent>
      <xs:extension base="per:data-cache-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="kodo-data-cache-managerType">
    <xs:complexContent>
      <xs:extension base="per:data-cache-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="data-cache-manager-implType">
    <xs:complexContent>
      <xs:extension base="per:data-cache-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="access-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="db2-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="empress-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="allow-concurrent-read" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="foxpro-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="hsql-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="cache-tables" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="informix-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="lock-mode-enabled" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="lock-wait-seconds" type="xs:int" minOccurs="0" nillable="false" default="30"/>
          <xs:element name="swap-schema-and-catalog" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="jdatastore-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="mysql-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="table-type" type="xs:string" minOccurs="0" nillable="true" default="innodb"/>
          <xs:element name="use-clobs" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="driver-deserializes-blobs" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="oracle-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-triggers-for-auto-assign" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="auto-assign-sequence-name" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="use-set-form-of-use-for-unicode" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="pointbase-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="postgres-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="all-sequences-sql" type="xs:string" minOccurs="0" nillable="true" default="SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class WHERE relkind='S'"/>
          <xs:element name="named-sequences-from-all-schemas-sql" type="xs:string" minOccurs="0" nillable="true" default="SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class WHERE relkind='S' AND relname = ?"/>
          <xs:element name="all-sequences-from-one-schema-sql" type="xs:string" minOccurs="0" nillable="true" default="SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class, pg_namespace WHERE relkind='S' AND pg_class.relnamespace = pg_namespace.oid AND nspname = ?"/>
          <xs:element name="named-sequences-from-one-schema-sql" type="xs:string" minOccurs="0" nillable="true" default="SELECT NULL AS SEQUENCE_SCHEMA, relname AS SEQUENCE_NAME FROM pg_class, pg_namespace WHERE relkind='S' AND pg_class.relnamespace = ?"/>
          <xs:element name="supports-set-fetch-size" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="sql-server-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="unique-identifier-as-varbinary" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="sybase-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:built-in-dbdictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="create-identity-column" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="identity-column-name" type="xs:string" minOccurs="0" nillable="false" default="UNQ_INDEX"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-dictionaryType">
    <xs:complexContent>
      <xs:extension base="per:db-dictionaryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-detach-stateType">
    <xs:complexContent>
      <xs:extension base="per:detach-stateType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="detach-options-loadedType">
    <xs:complexContent>
      <xs:extension base="per:detach-stateType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="detached-state-manager" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="detached-state-transient" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="access-unloaded" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="detached-state-field" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="detach-options-fetch-groupsType">
    <xs:complexContent>
      <xs:extension base="per:detach-stateType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="detached-state-manager" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="detached-state-transient" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="access-unloaded" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="detached-state-field" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="detach-options-allType">
    <xs:complexContent>
      <xs:extension base="per:detach-stateType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="detached-state-manager" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="detached-state-transient" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="access-unloaded" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="detached-state-field" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-driver-data-sourceType">
    <xs:complexContent>
      <xs:extension base="per:driver-data-sourceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="driver-data-sourceType"/>
  <xs:complexType name="kodo-pooling-data-sourceType">
    <xs:complexContent>
      <xs:extension base="per:driver-data-sourceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="connection-user-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="login-timeout" type="xs:int" minOccurs="0" nillable="false" default="10"/>
          <xs:element name="connection-password" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="connection-url" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="connection-driver-name" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="simple-driver-data-sourceType">
    <xs:complexContent>
      <xs:extension base="per:driver-data-sourceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="connection-user-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="login-timeout" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="connection-password" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="connection-url" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="connection-driver-name" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-driver-data-sourceType">
    <xs:complexContent>
      <xs:extension base="per:driver-data-sourceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="fetch-groupsType">
    <xs:sequence>
      <xs:element name="fetch-group" maxOccurs="unbounded" type="xs:string" minOccurs="0" nillable="true"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="filter-listenersType">
    <xs:sequence>
      <xs:element name="custom-filter-listener" maxOccurs="unbounded" type="per:custom-filter-listenerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="custom-filter-listenerType">
    <xs:complexContent>
      <xs:extension base="per:filter-listenerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="filter-listenerType"/>
  <xs:complexType name="inverse-managerType">
    <xs:sequence>
      <xs:element name="action" type="xs:string" minOccurs="0" nillable="true" default="0"/>
      <xs:element name="manage-lrs" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="jdbc-listenersType">
    <xs:sequence>
      <xs:element name="custom-jdbc-listener" maxOccurs="unbounded" type="per:custom-jdbc-listenerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="custom-jdbc-listenerType">
    <xs:complexContent>
      <xs:extension base="per:jdbc-listenerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="jdbc-listenerType"/>
  <xs:complexType name="default-lock-managerType">
    <xs:complexContent>
      <xs:extension base="per:lock-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="lock-managerType"/>
  <xs:complexType name="pessimistic-lock-managerType">
    <xs:complexContent>
      <xs:extension base="per:lock-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="version-check-on-read-lock" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="version-update-on-write-lock" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="none-lock-managerType">
    <xs:complexContent>
      <xs:extension base="per:lock-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="single-jvm-exclusive-lock-managerType">
    <xs:complexContent>
      <xs:extension base="per:lock-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="version-check-on-read-lock" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="version-update-on-write-lock" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="version-lock-managerType">
    <xs:complexContent>
      <xs:extension base="per:lock-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="version-check-on-read-lock" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="version-update-on-write-lock" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-lock-managerType">
    <xs:complexContent>
      <xs:extension base="per:lock-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="commons-log-factoryType">
    <xs:complexContent>
      <xs:extension base="per:logType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="logType"/>
  <xs:complexType name="log4j-log-factoryType">
    <xs:complexContent>
      <xs:extension base="per:logType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="log-factory-implType">
    <xs:complexContent>
      <xs:extension base="per:logType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="diagnostic-context" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="default-level" type="xs:string" minOccurs="0" nillable="true" default="3"/>
          <xs:element name="file" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="none-log-factoryType">
    <xs:complexContent>
      <xs:extension base="per:logType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-logType">
    <xs:complexContent>
      <xs:extension base="per:logType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-mapping-defaultsType">
    <xs:complexContent>
      <xs:extension base="per:mapping-defaultsType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="mapping-defaults-implType">
    <xs:complexContent>
      <xs:extension base="per:mapping-defaultsType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-class-criteria" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="base-class-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="version-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="discriminator-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="subclass-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="index-version" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="default-missing-info" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="index-logical-foreign-keys" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="null-indicator-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="foreign-key-delete-action" type="xs:int" minOccurs="0" nillable="false" default="1"/>
          <xs:element name="join-foreign-key-delete-action" type="xs:string" minOccurs="0" nillable="true" default="1"/>
          <xs:element name="discriminator-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="defer-constraints" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="field-strategies" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="version-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="data-store-id-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="index-discriminator" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="store-enum-ordinal" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="order-lists" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="order-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="add-null-indicator" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="store-unmapped-object-id-string" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="persistence-mapping-defaultsType">
    <xs:complexContent>
      <xs:extension base="per:mapping-defaultsType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-class-criteria" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="base-class-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="version-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="discriminator-column-name" type="xs:string" minOccurs="0" nillable="true" default="DTYPE"/>
          <xs:element name="subclass-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="index-version" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="default-missing-info" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="index-logical-foreign-keys" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="null-indicator-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="foreign-key-delete-action" type="xs:int" minOccurs="0" nillable="false" default="1"/>
          <xs:element name="join-foreign-key-delete-action" type="xs:string" minOccurs="0" nillable="true" default="1"/>
          <xs:element name="discriminator-strategy" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="defer-constraints" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="field-strategies" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="version-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="data-store-id-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="index-discriminator" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="store-enum-ordinal" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="order-lists" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="order-column-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="add-null-indicator" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="store-unmapped-object-id-string" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-mapping-defaultsType">
    <xs:complexContent>
      <xs:extension base="per:mapping-defaultsType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="extension-deprecated-jdo-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:mapping-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="scan-top-down" type="xs:boolean" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="kodo-persistence-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:mapping-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="default-access-type" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="field-override" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true" default="null"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="mapping-file-deprecated-jdo-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:mapping-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="single-file" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="file-name" type="xs:string" minOccurs="0" nillable="true" default="package.mapping"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="scan-top-down" type="xs:boolean" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="orm-file-jdor-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:mapping-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="mapping" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="constraint-names" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="scan-top-down" type="xs:boolean" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="table-deprecated-jdo-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:mapping-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="table-name" type="xs:string" minOccurs="0" nillable="true" default="JDO_MAPPING"/>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="mapping-column" type="xs:string" minOccurs="0" nillable="true" default="MAPPING_DEF"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="name-column" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="single-row" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="scan-top-down" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="table-jdor-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:mapping-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="type-column" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="constraint-names" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="table" type="xs:string" minOccurs="0" nillable="true" default="KODO_JDO_MAPPINGS"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="mapping-column" type="xs:string" minOccurs="0" nillable="true" default="MAPPING_DEF"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="name-column" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:mapping-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-meta-data-factoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="meta-data-factoryType"/>
  <xs:complexType name="jdo-meta-data-factoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="constraint-names" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="scan-top-down" type="xs:boolean" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="deprecated-jdo-meta-data-factoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="scan-top-down" type="xs:boolean" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="kodo-persistence-meta-data-factoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="default-access-type" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="field-override" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-meta-data-factoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-meta-data-repositoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-repositoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="meta-data-repositoryType"/>
  <xs:complexType name="kodo-mapping-repositoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-repositoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="resolve" type="xs:int" minOccurs="0" nillable="false" default="3"/>
          <xs:element name="validate" type="xs:int" minOccurs="0" nillable="false" default="7"/>
          <xs:element name="source-mode" type="xs:int" minOccurs="0" nillable="false" default="7"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-meta-data-repositoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-repositoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-orphaned-key-actionType">
    <xs:complexContent>
      <xs:extension base="per:log-orphaned-key-actionType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="exception-orphaned-key-actionType">
    <xs:complexContent>
      <xs:extension base="per:orphaned-key-actionType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-orphaned-key-actionType">
    <xs:complexContent>
      <xs:extension base="per:log-orphaned-key-actionType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="http-transportType">
    <xs:complexContent>
      <xs:extension base="per:persistence-serverType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="url" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="persistence-serverType"/>
  <xs:complexType name="tcp-transportType">
    <xs:complexContent>
      <xs:extension base="per:persistence-serverType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="so-timeout" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="host" type="xs:string" minOccurs="0" nillable="true" default="localhost"/>
          <xs:element name="port" type="xs:int" minOccurs="0" nillable="false" default="5637"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-persistence-serverType">
    <xs:complexContent>
      <xs:extension base="per:persistence-serverType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-proxy-managerType">
    <xs:complexContent>
      <xs:extension base="per:proxy-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="proxy-managerType"/>
  <xs:complexType name="profiling-proxy-managerType">
    <xs:complexContent>
      <xs:extension base="per:proxy-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="assert-allowed-type" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="track-changes" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="proxy-manager-implType">
    <xs:complexContent>
      <xs:extension base="per:proxy-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="assert-allowed-type" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="track-changes" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-proxy-managerType">
    <xs:complexContent>
      <xs:extension base="per:proxy-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="query-cachesType">
    <xs:choice>
      <xs:element name="default-query-cache" type="per:default-query-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="kodo-concurrent-query-cache" type="per:kodo-concurrent-query-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="gem-fire-query-cache" type="per:gem-fire-query-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="lru-query-cache" type="per:lru-query-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="tangosol-query-cache" type="per:tangosol-query-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="disabled-query-cache" type="per:disabled-query-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="custom-query-cache" type="per:custom-query-cacheType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="kodo-concurrent-query-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="cache-size" type="xs:int" minOccurs="0" nillable="false" default="1000"/>
          <xs:element name="soft-reference-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="gem-fire-query-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="gem-fire-cache-name" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="lru-query-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="cache-size" type="xs:int" minOccurs="0" nillable="false" default="1000"/>
          <xs:element name="soft-reference-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="tangosol-query-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="clear-on-close" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="tangosol-cache-type" type="xs:string" minOccurs="0" nillable="true" default="named"/>
          <xs:element name="tangosol-cache-name" type="xs:string" minOccurs="0" nillable="true" default="kodo-query"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="disabled-query-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-query-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-query-compilation-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-compilation-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="query-compilation-cacheType"/>
  <xs:complexType name="cache-mapType">
    <xs:complexContent>
      <xs:extension base="per:query-compilation-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="cache-size" type="xs:int" minOccurs="0" nillable="false" default="1000"/>
          <xs:element name="soft-reference-size" type="xs:int" minOccurs="0" nillable="false" default="-1"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="concurrent-hash-mapType">
    <xs:complexContent>
      <xs:extension base="per:query-compilation-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="max-size" type="xs:int" minOccurs="0" nillable="false" default="2147483647"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-query-compilation-cacheType">
    <xs:complexContent>
      <xs:extension base="per:query-compilation-cacheType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="jms-remote-commit-providerType">
    <xs:complexContent>
      <xs:extension base="per:remote-commit-providerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="topic" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="exception-reconnect-attempts" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="topic-connection-factory" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="remote-commit-providerType">
  	<xs:sequence>
  		<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" />
  	</xs:sequence>
  </xs:complexType>
  <xs:complexType name="single-jvm-remote-commit-providerType">
    <xs:complexContent>
      <xs:extension base="per:remote-commit-providerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="tcp-remote-commit-providerType">
    <xs:complexContent>
      <xs:extension base="per:remote-commit-providerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="max-idle" type="xs:int" minOccurs="0" nillable="false" default="2"/>
          <xs:element name="num-broadcast-threads" type="xs:int" minOccurs="0" nillable="false" default="2"/>
          <xs:element name="recovery-time-millis" type="xs:int" minOccurs="0" nillable="false" default="15000"/>
          <xs:element name="max-active" type="xs:int" minOccurs="0" nillable="false" default="2"/>
          <xs:element name="port" type="xs:int" minOccurs="0" nillable="false" default="5636"/>
          <xs:element name="addresses" type="xs:string" minOccurs="0" nillable="true" default="[]"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="cluster-remote-commit-providerType">
     <xs:complexContent>
       <xs:extension base="per:remote-commit-providerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
         <xs:sequence>
           <xs:element name="buffer-size" type="xs:int" minOccurs="0" nillable="false" default="10"/>
           <xs:element name="recover-action" minOccurs="0" nillable="false" default="none">
             <xs:simpleType>
               <xs:restriction base="xs:string">
                <xs:enumeration value="none"/>
                <xs:enumeration value="clear"/>
               </xs:restriction>
             </xs:simpleType>
           </xs:element>
           <xs:element name="cache-topics" type="xs:string" minOccurs="0" nillable="true"/>
         </xs:sequence>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="custom-remote-commit-providerType">
    <xs:complexContent>
      <xs:extension base="per:remote-commit-providerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-savepoint-managerType">
    <xs:complexContent>
      <xs:extension base="per:savepoint-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="savepoint-managerType"/>
  <xs:complexType name="in-memory-savepoint-managerType">
    <xs:complexContent>
      <xs:extension base="per:savepoint-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="pre-flush" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="jdbc3-savepoint-managerType">
    <xs:complexContent>
      <xs:extension base="per:savepoint-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="restore-field-state" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="oracle-savepoint-managerType">
    <xs:complexContent>
      <xs:extension base="per:savepoint-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="restore-field-state" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-savepoint-managerType">
    <xs:complexContent>
      <xs:extension base="per:savepoint-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-schema-factoryType">
    <xs:complexContent>
      <xs:extension base="per:schema-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="schema-factoryType"/>
  <xs:complexType name="dynamic-schema-factoryType">
    <xs:complexContent>
      <xs:extension base="per:schema-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="file-schema-factoryType">
    <xs:complexContent>
      <xs:extension base="per:schema-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="file-name" type="xs:string" minOccurs="0" nillable="true" default="package.schema"/>
          <xs:element name="file" type="xs:string" minOccurs="0" nillable="true" default="package.schema"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="lazy-schema-factoryType">
    <xs:complexContent>
      <xs:extension base="per:schema-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="foreign-keys" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="indexes" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="primary-keys" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="table-schema-factoryType">
    <xs:complexContent>
      <xs:extension base="per:schema-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="schema-column" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="table-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="table" type="xs:string" minOccurs="0" nillable="true" default="OPENJPA_SCHEMA"/>
          <xs:element name="primary-key-column" type="xs:string" minOccurs="0" nillable="true" default="ID"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-schema-factoryType">
    <xs:complexContent>
      <xs:extension base="per:schema-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="schemasType">
    <xs:sequence>
      <xs:element name="schema" maxOccurs="unbounded" type="xs:string" minOccurs="0" nillable="true"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="class-table-jdbc-seqType">
    <xs:complexContent>
      <xs:extension base="per:sequenceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="type" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="allocate" type="xs:int" minOccurs="0" nillable="false" default="50"/>
          <xs:element name="table-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="ignore-virtual" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="ignore-unmapped" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="table" type="xs:string" minOccurs="0" nillable="true" default="OPENJPA_SEQUENCES_TABLE"/>
          <xs:element name="primary-key-column" type="xs:string" minOccurs="0" nillable="true" default="ID"/>
          <xs:element name="use-aliases" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="sequence-column" type="xs:string" minOccurs="0" nillable="true" default="SEQUENCE_VALUE"/>
          <xs:element name="increment" type="xs:int" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="sequenceType"/>
  <xs:complexType name="native-jdbc-seqType">
    <xs:complexContent>
      <xs:extension base="per:sequenceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="type" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="allocate" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="table-name" type="xs:string" minOccurs="0" nillable="true" default="DUAL"/>
          <xs:element name="initial-value" type="xs:int" minOccurs="0" nillable="false" default="1"/>
          <xs:element name="sequence" type="xs:string" minOccurs="0" nillable="true" default="OPENJPA_SEQUENCE"/>
          <xs:element name="sequence-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="format" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="increment" type="xs:int" minOccurs="0" nillable="false" default="1"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="table-jdbc-seqType">
    <xs:complexContent>
      <xs:extension base="per:sequenceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="type" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="allocate" type="xs:int" minOccurs="0" nillable="false" default="50"/>
          <xs:element name="table-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="table" type="xs:string" minOccurs="0" nillable="true" default="OPENJPA_SEQUENCE_TABLE"/>
          <xs:element name="primary-key-column" type="xs:string" minOccurs="0" nillable="true" default="ID"/>
          <xs:element name="sequence-column" type="xs:string" minOccurs="0" nillable="true" default="SEQUENCE_VALUE"/>
          <xs:element name="increment" type="xs:int" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="time-seeded-seqType">
    <xs:complexContent>
      <xs:extension base="per:sequenceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="type" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="increment" type="xs:int" minOccurs="0" nillable="false" default="1"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="value-table-jdbc-seqType">
    <xs:complexContent>
      <xs:extension base="per:sequenceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="type" type="xs:int" minOccurs="0" nillable="false" default="0"/>
          <xs:element name="allocate" type="xs:int" minOccurs="0" nillable="false" default="50"/>
          <xs:element name="table-name" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="primary-key-value" type="xs:string" minOccurs="0" nillable="true" default="DEFAULT"/>
          <xs:element name="table" type="xs:string" minOccurs="0" nillable="true" default="OPENJPA_SEQUENCES_TABLE"/>
          <xs:element name="primary-key-column" type="xs:string" minOccurs="0" nillable="true" default="ID"/>
          <xs:element name="sequence-column" type="xs:string" minOccurs="0" nillable="true" default="SEQUENCE_VALUE"/>
          <xs:element name="increment" type="xs:int" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-seqType">
    <xs:complexContent>
      <xs:extension base="per:sequenceType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-sql-factoryType">
    <xs:complexContent>
      <xs:extension base="per:sql-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="kodo-sql-factoryType">
    <xs:complexContent>
      <xs:extension base="per:sql-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="advanced-sql" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-sql-factoryType">
    <xs:complexContent>
      <xs:extension base="per:sql-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="default-update-managerType">
    <xs:complexContent>
      <xs:extension base="per:update-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="constraint-update-managerType">
    <xs:complexContent>
      <xs:extension base="per:update-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="maximize-batch-size" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="batching-operation-order-update-managerType">
    <xs:complexContent>
      <xs:extension base="per:update-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="maximize-batch-size" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="table-lock-update-managerType">
    <xs:complexContent>
      <xs:extension base="per:update-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="maximize-batch-size" type="xs:boolean" minOccurs="0" nillable="false" default="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-update-managerType">
    <xs:complexContent>
      <xs:extension base="per:update-managerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="custom-plug-inType">
    <xs:sequence>
      <xs:element name="classname" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="properties" type="per:propertiesType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="jdor-mapping-factoryType">
    <xs:complexContent>
      <xs:extension base="per:meta-data-factoryType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration">
        <xs:sequence>
          <xs:element name="use-schema-validation" type="xs:boolean" minOccurs="0" nillable="false"/>
          <xs:element name="urls" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="files" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="classpath-scan" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="constraint-names" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="types" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="store-mode" type="xs:int" minOccurs="0" nillable="false"/>
          <xs:element name="strict" type="xs:boolean" minOccurs="0" nillable="false" default="false"/>
          <xs:element name="resources" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="scan-top-down" type="xs:boolean" minOccurs="0" nillable="false"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="persistence-configuration" type="per:persistence-configurationType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>

  <!-- New properties for Kodo management configuration -->

  <xs:element name="profiling" type="per:profilingType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>

  <xs:complexType name="profilingType">
    <xs:sequence>
      <xs:element name="none-profiling" type="per:none-profilingType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="local-profiling" type="per:local-profilingType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="export-profiling" type="per:export-profilingType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="gui-profiling" type="per:gui-profilingType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="none-profilingType">
    <xs:sequence>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="local-profilingType">
    <xs:sequence>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="export-profilingType">
    <xs:sequence>
      <xs:element name="interval-millis" type="xs:int" minOccurs="0"/>
      <xs:element name="base-name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="gui-profilingType">
    <xs:sequence>
    </xs:sequence>
  </xs:complexType>



  <xs:element name="execution-context-name-provider" type="per:execution-context-name-providerType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>

  <xs:complexType name="execution-context-name-providerType">
    <xs:sequence>
      <xs:element name="stack-execution-context-name-provider" type="per:stack-execution-context-name-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="transaction-name-execution-context-name-provider" type="per:transaction-name-execution-context-name-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="user-object-execution-context-name-provider" type="per:user-object-execution-context-name-providerType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="stack-execution-context-name-providerType">
    <xs:sequence>
      <xs:element name="style" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="line"/>
            <xs:enumeration value="partial"/>
            <xs:enumeration value="full"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="user-object-execution-context-name-providerType">
    <xs:sequence>
      <xs:element name="key" type="xs:string" minOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="transaction-name-execution-context-name-providerType">
    <xs:sequence>
    </xs:sequence>
  </xs:complexType>



  <xs:element name="jmx" type="per:jmxType" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>

  <xs:complexType name="jmxType">
    <xs:sequence>
      <xs:element name="none-jmx"  type="per:none-jmxType" minOccurs="0"  nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="local-jmx" type="per:local-jmxType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="gui-jmx"   type="per:gui-jmxType" minOccurs="0"   nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="jmx2-jmx"  type="per:jmx2-jmxType" minOccurs="0"  nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="mx4j1-jmx" type="per:mx4j1-jmxType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
      <xs:element name="wls81-jmx" type="per:wls81-jmxType" minOccurs="0" nillable="true" xmlns:per="http://xmlns.oracle.com/weblogic/persistence-configuration"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="none-jmxType">
    <xs:sequence>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="local-jmxType">
    <xs:sequence>
      <xs:element name="MBeanServerStrategy" type="xs:string"  minOccurs="1"/>
      <xs:element name="EnableLogMBean"      type="xs:boolean" minOccurs="1"/>
      <xs:element name="EnableRuntimeMBean"  type="xs:boolean" minOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="gui-jmxType">
    <xs:sequence>
      <xs:element name="MBeanServerStrategy" type="xs:string"  minOccurs="1"/>
      <xs:element name="EnableLogMBean"      type="xs:boolean" minOccurs="1"/>
      <xs:element name="EnableRuntimeMBean" type="xs:boolean"  minOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="jmx2-jmxType">
    <xs:sequence>
      <xs:element name="MBeanServerStrategy" type="xs:string"  minOccurs="1"/>
      <xs:element name="EnableLogMBean"      type="xs:boolean" minOccurs="1"/>
      <xs:element name="EnableRuntimeMBean"  type="xs:boolean" minOccurs="1"/>
      <xs:element name="NamingImpl"          type="xs:string"  minOccurs="1"/>
      <xs:element name="ServiceURL"          type="xs:string"  minOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="mx4j1-jmxType">
    <xs:sequence>
      <xs:element name="MBeanServerStrategy" type="xs:string"  minOccurs="1"/>
      <xs:element name="EnableLogMBean"      type="xs:boolean" minOccurs="1"/>
      <xs:element name="EnableRuntimeMBean"  type="xs:boolean" minOccurs="1"/>
      <xs:element name="Host"                type="xs:string"  minOccurs="1"/>
      <xs:element name="Port"                type="xs:string"  minOccurs="1"/>
      <xs:element name="JNDIName"            type="xs:string"  minOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="wls81-jmxType">
    <xs:sequence>
      <xs:element name="MBeanServerStrategy" type="xs:string"  minOccurs="1"/>
      <xs:element name="EnableLogMBean"      type="xs:boolean" minOccurs="1"/>
      <xs:element name="EnableRuntimeMBean"  type="xs:boolean" minOccurs="1"/>
      <xs:element name="URL"                 type="xs:boolean" minOccurs="1"/>
      <xs:element name="UserName"            type="xs:boolean" minOccurs="1"/>
      <xs:element name="Password"            type="xs:boolean" minOccurs="1"/>
    </xs:sequence>
  </xs:complexType>


</xs:schema>
