| <?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. |
| |
| The metadata must declare all persistence-capable classes. If any |
| field declarations are not provided in the metadata, then field |
| metadata is defaulted for the missing field declarations. |
| Therefore, the JDO implementation is able to determine based on the |
| metadata whether a class is persistence-capable or not. |
| Any class not known to be persistence-capable by the JDO |
| specification (for example, java.lang.Integer) and not explicitly |
| named in the metadata is not persistence-capable. |
| |
| The metadata associated with each persistence capable class must |
| be contained within a file, and its format is as defined in the DTD. |
| If the metadata is for only one class, then its file name should be |
| <class-name>.jdo. If the metadata is for a package, then its file name |
| should be <package-name>.jdo. For portability, files should be |
| available via resources loaded by the same class loader as the class. |
| These rules apply both to enhancement and to runtime. |
| |
| The metadata is used both at enhancement time and at runtime. |
| Information required at enhancement time is a subset of the information |
| needed at runtime. |
| |
| Use is subject to license terms. |
| --> |
| |
| <!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> |
| |