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>
