The following XML DTD describes the form of JDO metadata.
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303, U.S.A. All rights reserved. This is the DTD defining the Java Data Objects 1.0 metadata. --> <!NOTATION JDO.1_0 PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 1.0//EN"> <!-- This is the XML DTD for the JDO 1.0 Metadata. All JDO 1.0 metadata descriptors must include a DOCTYPE of the following form: <!DOCTYPE jdo PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 1.0//EN" "http://java.sun.com/dtd/jdo_1_0.dtd"> --> <!ELEMENT jdo ((package)+, (extension)*)> <!ELEMENT package ((class)+, (extension)*)> <!ATTLIST package name CDATA #REQUIRED> <!ELEMENT class (field|extension)*> <!ATTLIST class name CDATA #REQUIRED> <!ATTLIST class identity-type (application|datastore|nondurable) #IMPLIED> <!ATTLIST class objectid-class CDATA #IMPLIED> <!ATTLIST class requires-extent (true|false) 'true'> <!ATTLIST class persistence-capable-superclass CDATA #IMPLIED> <!ELEMENT field ((collection|map|array)?, (extension)*)?> <!ATTLIST field name CDATA #REQUIRED> <!ATTLIST field persistence-modifier (persistent|transactional|none) #IMPLIED> <!ATTLIST field primary-key (true|false) 'false'> <!ATTLIST field null-value (exception|default|none) 'none'> <!ATTLIST field default-fetch-group (true|false) #IMPLIED> <!ATTLIST field embedded (true|false) #IMPLIED> <!ELEMENT collection (extension)*> <!ATTLIST collection element-type CDATA #IMPLIED> <!ATTLIST collection embedded-element (true|false) #IMPLIED> <!ELEMENT map (extension)*> <!ATTLIST map key-type CDATA #IMPLIED> <!ATTLIST map embedded-key (true|false) #IMPLIED> <!ATTLIST map value-type CDATA #IMPLIED> <!ATTLIST map embedded-value (true|false) #IMPLIED> <!ELEMENT array (extension)*> <!ATTLIST array embedded-element (true|false) #IMPLIED> <!ELEMENT extension (extension)*> <!ATTLIST extension vendor-name CDATA #REQUIRED> <!ATTLIST extension key CDATA #IMPLIED> <!ATTLIST extension value CDATA #IMPLIED>