db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthew Adams" <matthew.ad...@xcalia.com>
Subject RE: [DISCUSS] Named PMF proposal (JDOHelper enhancements)
Date Sat, 24 Feb 2007 00:19:20 GMT
Here is the XSD as a work in progress, in a pre-alpha state.  Should we
create a JIRA issue for this?  Email seems nonideal for file management,
especially when they're not attached.

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://java.sun.com/xml/ns/jdo/jdo-config"
           xmlns="http://java.sun.com/xml/ns/jdo/jdo-config"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           version="1.0">

  <!-- TODO:  Decide if these should be imported, included, or
copy/pasted
  <xs:import namespace="http://java.sun.com/xml/ns/jdo/jdo"
schemaLocation="jdo.xsd"/>
  <xs:import namespace="http://java.sun.com/xml/ns/jdo/orm"
schemaLocation="orm.xsd"/>
  <xs:import namespace="http://java.sun.com/xml/ns/jdo/jdoquery"
schemaLocation="jdoquery.xsd"/>
  -->
  <xs:element name="jdo-config">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded"
ref="extension"/>
        <xs:sequence minOccurs="1" maxOccurs="unbounded">
          <xs:element name="persistence-manager-factory">
            <xs:complexType>
              <xs:choice>
                <xs:sequence minOccurs="0" maxOccurs="unbounded">
                  <xs:element name="property">
                    <xs:complexType>
                      <xs:attributeGroup ref="attlist.property"/>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:element name="properties" type="xs:string"/>
              </xs:choice>
              <xs:attributeGroup
ref="attlist.persistence-manager-factory"/>
            </xs:complexType>
          </xs:element>
          <xs:sequence minOccurs="0" maxOccurs="unbounded">
            <xs:element name="instance-lifecycle-listener">
              <xs:complexType>
                <xs:attributeGroup
ref="attlist.instance-lifecycle-listener"/>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded"
ref="extension"/>
        <!-- TODO:  include sequences of <jdo [resources=""]>, <orm
[resources=""]>, and <jdoquery [resources=""]> elements here -->
      </xs:sequence>
      <xs:attributeGroup ref="attlist.jdo-config"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="attlist.jdo-config"/>
  <xs:attributeGroup name="attlist.persistence-manager-factory">
    <xs:attribute name="name"/>
    <xs:attribute name="resource"/>
    <xs:attribute name="persistence-manager-factory-class"/>
    <xs:attribute name="optimistic"/>
    <xs:attribute name="retain-values"/>
    <xs:attribute name="restore-values"/>
    <xs:attribute name="ignore-cache"/>
    <xs:attribute name="nontransactional-read"/>
    <xs:attribute name="nontransactional-write"/>
    <xs:attribute name="multithreaded"/>
    <xs:attribute name="connection-driver-name"/>
    <xs:attribute name="connection-user-name"/>
    <xs:attribute name="connection-password"/>
    <xs:attribute name="connection-url"/>
    <xs:attribute name="connection-factory-name"/>
    <xs:attribute name="connection-factory2-name"/>
    <xs:attribute name="mapping"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="attlist.property">
    <xs:attribute name="name"/>
    <xs:attribute name="value"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="attlist.instance-lifecycle-listener">
    <xs:attribute name="post-attach"/>
    <xs:attribute name="pre-attach"/>
    <xs:attribute name="post-clear"/>
    <xs:attribute name="pre-clear"/>
    <xs:attribute name="post-create"/>
    <xs:attribute name="post-delete"/>
    <xs:attribute name="pre-delete"/>
    <xs:attribute name="post-detach"/>
    <xs:attribute name="pre-detach"/>
    <xs:attribute name="post-dirty"/>
    <xs:attribute name="pre-dirty"/>
    <xs:attribute name="post-load"/>
    <xs:attribute name="post-store"/>
    <xs:attribute name="pre-store"/>
  </xs:attributeGroup>
  <xs:element name="extension">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="any">
          <xs:attributeGroup ref="attlist.extension"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="attlist.extension">
    <xs:attribute name="vendor-name" use="required"/>
    <xs:attribute name="key"/>
    <xs:attribute name="value"/>
  </xs:attributeGroup>
  <xs:complexType name="any" mixed="true">
    <xs:sequence>
      <xs:any minOccurs="0" maxOccurs="unbounded"
processContents="skip"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Mime
View raw message