This article is organized into the following sections : -
OpenEJB Schema Document
The following schema uses the OpenEJB namespace, and requires elements from the Geronimo Naming, Geronimo Security, and Geronimo System namespaces. Furthermore, it has a required attribute to identify its configuration name, and an optional attribute to select a parent configuration.The openejb-jar-2.1.xsd defines the schema for the Geronimo Deployment Plan for an EJB JAR.
The attributes here are:
xmlns
The main namespace for the deployment plan, which should always be http://www.openejb.org/xml/ns/openejb-jar-2.1
xmlns:naming
A secondary namespace, used to identify the common elements for resolving EJB references, resource references, and web services references. If any of those need to be resolved in the deployment plan, this attribute should be present, and should be set to http://geronimo.apache.org/xml/ns/naming-1.1
xmlns:security
A secondary namespace, used to identify the common elements for security configuration. If there are any security settings in the deployment plan, this attribute should be present, and should be set to http://geronimo.apache.org/xml/ns/security-1.1
xmlns:sys
A secondary namespace, used to identify the common elements for common libraries and module-scoped services. If there are any of those present in the deployment plan, this attribute should be present, and should be set to http://geronimo.apache.org/xml/ns/deployment-1.1
xmlns:pkgen
A secondary namespace, used to identify the common elements for configuring automatic primary key generation for CMP entity beans (such as, using a sequence or auto-increment column). If there are any primary key generators present in the deployment plan, this attribute should be present, and should be set to http://www.openejb.org/xml/ns/pkgen-2.0
configId
A unique name identifying this module. If deployed as a standalone EJB JAR, this name is used to identify the module to the deployment tool (to start, stop, undeploy, or redeploy the EJB JAR).
parentId
Identifies the parent configuration for this EJB JAR (the value specified here should match the configId for that module). If deployed as a standalone EJB JAR, this can be used to make the EJB JAR depend on another module such as another standalone EJB JAR or a J2EE Connector (or it should otherwise be omitted or set to the usual parent for J2EE modules, geronimo/j2ee-server/1.0/car). If deployed as part of an EAR this is usually not necessary, as EAR configuration will be the parent of this module.
<xs:schema
xmlns:openejb="http://www.openejb.org/xml/ns/openejb-jar-2.1"
targetNamespace="http://www.openejb.org/xml/ns/openejb-jar-2.1"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1"
xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0">
<xs:import namespace="http://geronimo.apache.org/xml/ns/naming-1.1" schemaLocation="geronimo-naming-1.1.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/security-1.1" schemaLocation="geronimo-security-1.1.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.1" schemaLocation="geronimo-module-1.1.xsd"/>
<xs:import namespace="http://www.openejb.org/xml/ns/pkgen-2.0" schemaLocation="openejb-pkgen-2.0.xsd"/>
<xs:element name="openejb-jar" type="openejb:openejb-jarType"/>
<xs:complexType name="emptyType"/>
<xs:complexType name="openejb-jarType">
<xs:sequence>
<xs:element ref="sys:environment" minOccurs="0"/>
<xs:element ref="naming:cmp-connection-factory" minOccurs="0"/>
<xs:element name="ejb-ql-compiler-factory" type="xs:string" minOccurs="0"/>
<xs:element name="db-syntax-factory" type="xs:string" minOccurs="0"/>
<xs:element name="enforce-foreign-key-constraints" type="openejb:emptyType" minOccurs="0"/>
<xs:element name="enterprise-beans">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="session" type="openejb:session-beanType"/>
<xs:element name="entity" type="openejb:entity-beanType"/>
<xs:element name="message-driven" type="openejb:message-driven-beanType"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="relationships" type="openejb:relationshipsType" minOccurs="0">
<xs:unique name="relationship-name-uniqueness">
<xs:selector xpath="openejb:ejb-relation"/>
<xs:field xpath="openejb:ejb-relation-name"/>
</xs:unique>
</xs:element>
<xs:element ref="naming:message-destination" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="security:security" minOccurs="0"/>
<xs:element ref="sys:gbean" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="session-beanType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
<xs:element name="jndi-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="local-jndi-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="openejb:tssGroup" minOccurs="0"/>
<xs:group ref="naming:jndiEnvironmentRefsGroup"/>
<xs:element name="web-service-address" type="xs:string" minOccurs="0"/>
<xs:element name="web-service-virtual-host" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="web-service-security" type="openejb:web-service-securityType" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
<xs:group name="tssGroup">
<xs:sequence>
<xs:choice>
<xs:element name="tss-link" type="xs:string"/>
<xs:element name="tss" type="naming:patternType"/>
</xs:choice>
</xs:sequence>
</xs:group>
<xs:complexType name="tssType">
<xs:sequence>
<xs:element name="domain" type="xs:string" minOccurs="0"/>
<xs:element name="server" type="xs:string" minOccurs="0"/>
<xs:element name="application" type="xs:string" minOccurs="0"/>
<xs:element name="module" type="xs:string" minOccurs="0"/>
-->
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="web-service-securityType">
<xs:sequence>
<xs:element name="security-realm-name" type="xs:string"/>
<xs:element name="realm-name" type="xs:string" minOccurs="0"/>
<xs:element name="transport-guarantee" type="openejb:transport-guaranteeType"/>
<xs:element name="auth-method" type="openejb:auth-methodType"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="transport-guaranteeType">
<xs:restriction base="xs:string">
<xs:enumeration value="NONE"/>
<xs:enumeration value="INTEGRAL"/>
<xs:enumeration value="CONFIDENTIAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="auth-methodType">
<xs:restriction base="xs:string">
<xs:enumeration value="BASIC"/>
<xs:enumeration value="DIGEST"/>
<xs:enumeration value="CLIENT-CERT"/>
<xs:enumeration value="NONE"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="entity-beanType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
<xs:element name="jndi-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="local-jndi-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="openejb:tssGroup" minOccurs="0"/>
<xs:sequence minOccurs="0">
<xs:element name="table-name" type="xs:string"/>
<xs:element name="static-sql" type="openejb:emptyType" minOccurs="0"/>
<xs:element name="cmp-field-mapping" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="cmp-field-name" type="xs:string"/>
<xs:element name="cmp-field-class" type="xs:string" minOccurs="0"/>
<xs:element name="table-column" type="xs:string"/>
<xs:element name="sql-type" type="xs:string" minOccurs="0"/>
<xs:element name="type-converter" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="primkey-field" type="xs:string" minOccurs="0"/>
<xs:element ref="pkgen:key-generator" minOccurs="0"/>
<xs:element name="prefetch-group" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="group" minOccurs="0" maxOccurs="unbounded"
type="openejb:groupType"/>
<xs:element name="entity-group-mapping" minOccurs="0"
type="openejb:entity-group-mappingType"/>
<xs:element name="cmp-field-group-mapping" minOccurs="0" maxOccurs="unbounded"
type="openejb:cmp-field-group-mappingType"/>
<xs:element name="cmr-field-group-mapping" minOccurs="0" maxOccurs="unbounded"
type="openejb:cmr-field-group-mappingType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:element name="cache" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="isolation-level">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="read-uncommitted"/>
<xs:enumeration value="read-committed"/>
<xs:enumeration value="repeatable-read"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="size" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="naming:jndiEnvironmentRefsGroup"/>
<xs:element name="query" type="openejb:queryType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
<xs:complexType name="groupType">
<xs:sequence>
<xs:element name="group-name" type="xs:string"/>
<xs:element name="cmp-field-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="cmr-field" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="cmr-field-name" type="xs:string"/>
<xs:element name="group-name" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="entity-group-mappingType">
<xs:sequence>
<xs:element name="group-name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="cmp-field-group-mappingType">
<xs:sequence>
<xs:element name="group-name" type="xs:string"/>
<xs:element name="cmp-field-name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="cmr-field-group-mappingType">
<xs:sequence>
<xs:element name="group-name" type="xs:string"/>
<xs:element name="cmr-field-name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="queryType">
<xs:sequence>
<xs:element name="query-method">
<xs:complexType>
<xs:sequence>
<xs:element name="method-name" type="xs:string"/>
<xs:element name="method-params">
<xs:complexType>
<xs:sequence>
<xs:element name="method-param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="result-type-mapping" minOccurs="0" type="xs:string"/>
<xs:element name="ejb-ql" type="xs:string" minOccurs="0"/>
<xs:element name="no-cache-flush" minOccurs="0"/>
<xs:element name="group-name" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="relationshipsType">
<xs:sequence>
<xs:element name="ejb-relation" type="openejb:ejb-relationType" maxOccurs="unbounded">
<xs:unique name="role-name-uniqueness">
<xs:selector xpath=".//openejb:ejb-relationship-role-name"/>
<xs:field xpath="."/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ejb-relationType">
<xs:sequence>
<xs:element name="ejb-relation-name" type="xs:string" minOccurs="0"/>
<xs:element name="many-to-many-table-name" type="xs:string" minOccurs="0"/>
<xs:element name="ejb-relationship-role" type="openejb:ejb-relationship-roleType" maxOccurs="2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ejb-relationship-roleType">
<xs:sequence>
<xs:element name="ejb-relationship-role-name" type="xs:string" minOccurs="0"/>
<xs:element name="relationship-role-source">
<xs:complexType>
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="cmr-field" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="cmr-field-name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="foreign-key-column-on-source" minOccurs="0"/>
<xs:element name="role-mapping">
<xs:complexType>
<xs:sequence>
<xs:element name="cmr-field-mapping" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="key-column" type="xs:string"/>
<xs:element name="foreign-key-column" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="message-driven-beanType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
<xs:element ref="naming:resource-adapter"/>
<xs:element name="activation-config"
type="openejb:activation-configType"
minOccurs="0"/>
<xs:group ref="naming:jndiEnvironmentRefsGroup"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
<xs:complexType name="activation-configType">
<xs:sequence>
<xs:element name="description"
type="xs:string"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="activation-config-property"
type="openejb:activation-config-propertyType"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="activation-config-propertyType">
<xs:sequence>
<xs:element name="activation-config-property-name"
type="xs:string">
</xs:element>
<xs:element name="activation-config-property-value"
type="xs:string">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
Schema Document Properties
Declared Namespaces
| Prefix |
Namespace |
| xml |
http://www.w3.org/XML/1998/namespace |
| openejb |
http://www.openejb.org/xml/ns/openejb-jar-2.1 |
| naming |
http://geronimo.apache.org/xml/ns/naming-1. 1 |
| security |
http://geronimo.apache.org/xml/ns/security-1.1 |
| sys |
http://geronimo.apache.org/xml/ns/deployment-1.1 |
| pkgen |
http://www.openejb.org/xml/ns/pkgen-2.0 |
| xs |
http://www.w3.org/2001/XMLSchema |
<xs:schema>
targetNamespace="http://www.openejb.org/xml/ns/openejb-jar-2.1"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0">
<xs:import namespace="http://geronimo.apache.org/xml/ns/naming-1.1" schemaLocation="geronimo-naming-1.1.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/security-1.1" schemaLocation="geronimo-security-1.1.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.1" schemaLocation="geronimo-module-1.1.xsd"/>
<xs:import namespace="http://www.openejb.org/xml/ns/pkgen-2.0" schemaLocation="openejb-pkgen-2.0.xsd"/>
....
</xs:schema>
Global Declarations
Element: openejb-jar
| Element: |
openejb-jar |
| Name |
openejb-jar |
| Type |
openejb:openejb-jarType |
| Nillable |
no |
| Abstract |
no |
<openejb:openejb-jar
configId=" xs:string [1]"
parentId=" xs:string [0..1]">
<sys:import> ... </sys:import> [0..*]
<sys:dependency> ... </sys:dependency> [0..*]
<naming:cmp-connection-factory> ... </naming:cmp-connection-factory> [0..1]
<openejb:ejb-ql-compiler-factory> xs:string </openejb:ejb-ql-compiler-factory> [0..1]
<openejb:db-syntax-factory> xs:string </openejb:db-syntax-factory> [0..1]
<openejb:enforce-foreign-key-constraints> openejb:emptyType </openejb:enforce-foreign-key-constraints> [0..1]
<openejb:enterprise-beans> [1]
Start Choice [0..*]
<openejb:session> openejb:session-beanType </openejb:session> [1]
<openejb:entity> openejb:entity-beanType </openejb:entity> [1]
<openejb:message-driven> openejb:message-driven-beanType </openejb:message-driven> [1]
End Choice
</openejb:enterprise-beans>
<openejb:relationships> openejb:relationshipsType
<!--
Uniqueness Constraint - relationship-name-uniqueness
Selector - openejb:ejb-relation
Field(s) - openejb:ejb-relation-name
-->
</openejb:relationships> [0..1]
<naming:message-destination> ... </naming:message-destination> [0..*]
<security:security> ... </security:security> [0..1]
<sys:gbean> ... </sys:gbean> [0..*]
</openejb:openejb-jar>
<xs:element name=openejb-jar type=openejb:openejb-jarType/>
Global Definitions
Complex Type: activation-config-propertyType
| Complex Type: |
activation-config-propertyType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
activation-config-propertyType |
| Abstract |
no |
<...>
<openejb:activation-config-property-name> xs:string </openejb:activation-config-property-name> [1]
<openejb:activation-config-property-value> xs:string </openejb:activation-config-property-value> [1]
</...>
<xs:complexType name="activation-config-propertyType">
<xs:sequence>
<xs:element name="activation-config-property-name" type=" xs:string "/>
<xs:element name="activation-config-property-value" type=" xs:string "/>
</xs:sequence>
</xs:complexType>
Complex Type: activation-configType
| Complex Type: |
activation-configType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
activation-configType |
| Abstract |
no |
<...>
<openejb:description> xs:string </openejb:description> [0..*]
<openejb:activation-config-property> openejb:activation-config-propertyType </openejb:activation-config-property> [1..*]
</...>
<xs:complexType name="activation-configType">
<xs:sequence>
<xs:element name="description" type=" xs:string " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="activation-config-property" type=" openejb:activation-config-propertyType " maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
Complex Type: cmp-field-group-mappingType
| Complex Type: |
cmp-field-group-mappingType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
cmp-field-group-mappingType |
| Abstract |
no |
<...>
<openejb:group-name> xs:string </openejb:group-name> [1]
<openejb:cmp-field-name> xs:string </openejb:cmp-field-name> [1]
</...>
<xs:complexType name="cmp-field-group-mappingType">
<xs:sequence>
<xs:element name="group-name" type=" xs:string "/>
<xs:element name="cmp-field-name" type=" xs:string "/>
</xs:sequence>
</xs:complexType>
Complex Type: cmr-field-group-mappingType
| Complex Type: |
cmr-field-group-mappingType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
cmr-field-group-mappingType |
| Abstract |
no |
<...>
<openejb:group-name> xs:string </openejb:group-name> [1]
<openejb:cmr-field-name> xs:string </openejb:cmr-field-name> [1]
</...>
<xs:complexType name="cmr-field-group-mappingType">
<xs:sequence>
<xs:element name="group-name" type=" xs:string "/>
<xs:element name="cmr-field-name" type=" xs:string "/>
</xs:sequence>
</xs:complexType>
Complex Type: ejb-relationship-roleType
| Complex Type: |
ejb-relationship-roleType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
ejb-relationship-roleType |
| Abstract |
no |
<...>
<openejb:ejb-relationship-role-name> xs:string </openejb:ejb-relationship-role-name> [0..1]
<openejb:relationship-role-source> [1]
<openejb:ejb-name> xs:string </openejb:ejb-name> [1]
</openejb:relationship-role-source>
<openejb:cmr-field> [0..1]
<openejb:cmr-field-name> xs:string </openejb:cmr-field-name> [1]
</openejb:cmr-field>
<openejb:foreign-key-column-on-source> ... </openejb:foreign-key-column-on-source> [0..1]
<openejb:role-mapping> [1]
<openejb:cmr-field-mapping> [1..*]
<openejb:key-column> xs:string </openejb:key-column> [1]
<openejb:foreign-key-column> xs:string </openejb:foreign-key-column> [1]
</openejb:cmr-field-mapping>
</openejb:role-mapping>
</...>
<xs:complexType name="ejb-relationship-roleType">
<xs:sequence>
<xs:element name="ejb-relationship-role-name" type=" xs:string " minOccurs="0"/>
<xs:element name="relationship-role-source">
<xs:complexType>
<xs:sequence>
<xs:element name="ejb-name" type=" xs:string "/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="cmr-field" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="cmr-field-name" type=" xs:string "/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="foreign-key-column-on-source" minOccurs="0"/>
<xs:element name="role-mapping">
<xs:complexType>
<xs:sequence>
<xs:element name="cmr-field-mapping" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="key-column" type=" xs:string "/>
<xs:element name="foreign-key-column" type=" xs:string "/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
Complex Type: ejb-relationType
| Complex Type: |
ejb-relationType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
ejb-relationType |
| Abstract |
no |
<...>
<openejb:ejb-relation-name> xs:string </openejb:ejb-relation-name> [0..1]
<openejb:many-to-many-table-name> xs:string </openejb:many-to-many-table-name> [0..1]
<openejb:ejb-relationship-role> openejb:ejb-relationship-roleType </openejb:ejb-relationship-role> [1..2]
</...>
<xs:complexType name="ejb-relationType">
<xs:sequence>
<xs:element name="ejb-relation-name" type=" xs:string " minOccurs="0"/>
<xs:element name="many-to-many-table-name" type=" xs:string " minOccurs="0"/>
<xs:element name="ejb-relationship-role" type=" openejb:ejb-relationship-roleType " maxOccurs="2"/>
</xs:sequence>
</xs:complexType>
Complex Type: emptyType
| Complex Type: |
emptyType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
emptyType |
| Abstract |
no |
<xs:complexType name="emptyType"/>
Complex Type: entity-beanType
| Complex Type: |
entity-beanType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
entity-beanType |
| Abstract |
no |
<...
id=" xs:ID [0..1]">
<openejb:ejb-name> xs:string </openejb:ejb-name> [1]
<openejb:jndi-name> xs:string </openejb:jndi-name> [0..*]
<openejb:local-jndi-name> xs:string </openejb:local-jndi-name> [0..*]
Start Group: openejb:tssGroup [0..1]
Start Choice [1]
<openejb:tss-target-name> xs:string </openejb:tss-target-name> [1]
<openejb:tss-link> xs:string </openejb:tss-link> [1]
<openejb:tss> openejb:tssType </openejb:tss> [1]
End Choice
End Group: openejb:tssGroup
Start Sequence [0..1]
<openejb:table-name> xs:string </openejb:table-name> [1]
<openejb:cmp-field-mapping> [1..*]
<openejb:cmp-field-name> xs:string </openejb:cmp-field-name> [1]
<openejb:cmp-field-class> xs:string </openejb:cmp-field-class> [0..1]
<openejb:table-column> xs:string </openejb:table-column> [1]
<openejb:sql-type> xs:string </openejb:sql-type> [0..1]
<openejb:type-converter> xs:string </openejb:type-converter> [0..1]
</openejb:cmp-field-mapping>
<openejb:primkey-field> xs:string </openejb:primkey-field> [0..1]
<pkgen:key-generator> ... </pkgen:key-generator> [0..1]
<openejb:prefetch-group> [0..1]
<openejb:group> openejb:groupType </openejb:group> [0..*]
<openejb:entity-group-mapping> openejb:entity-group-mappingType </openejb:entity-group-mapping> [0..1]
<openejb:cmp-field-group-mapping> openejb:cmp-field-group-mappingType </openejb:cmp-field-group-mapping> [0..*]
<openejb:cmr-field-group-mapping> openejb:cmr-field-group-mappingType </openejb:cmr-field-group-mapping> [0..*]
</openejb:prefetch-group>
End Sequence
<openejb:query> openejb:queryType </openejb:query> [0..*]
</...>
<xs:complexType name="entity-beanType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
<xs:element name="jndi-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="local-jndi-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref="openejb:tssGroup" minOccurs="0"/>
<xs:sequence minOccurs="0">
<xs:element name="table-name" type="xs:string"/>
<xs:element name="static-sql" type="openejb:emptyType" minOccurs="0"/>
<xs:element name="cmp-field-mapping" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="cmp-field-name" type="xs:string"/>
<xs:element name="cmp-field-class" type="xs:string" minOccurs="0"/>
<xs:element name="table-column" type="xs:string"/>
<xs:element name="sql-type" type="xs:string" minOccurs="0"/>
<xs:element name="type-converter" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="primkey-field" type="xs:string" minOccurs="0"/>
<xs:element ref="pkgen:key-generator" minOccurs="0"/>
<xs:element name="prefetch-group" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="group" minOccurs="0" maxOccurs="unbounded"
type="openejb:groupType"/>
<xs:element name="entity-group-mapping" minOccurs="0"
type="openejb:entity-group-mappingType"/>
<xs:element name="cmp-field-group-mapping" minOccurs="0" maxOccurs="unbounded"
type="openejb:cmp-field-group-mappingType"/>
<xs:element name="cmr-field-group-mapping" minOccurs="0" maxOccurs="unbounded"
type="openejb:cmr-field-group-mappingType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:element name="cache" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="isolation-level">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="read-uncommitted"/>
<xs:enumeration value="read-committed"/>
<xs:enumeration value="repeatable-read"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="size" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="naming:jndiEnvironmentRefsGroup"/>
<xs:element name="query" type="openejb:queryType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
Complex Type: entity-group-mappingType
| Complex Type: |
entity-group-mappingType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
entity-group-mappingType |
| Abstract |
no |
<...>
<openejb:group-name> xs:string </openejb:group-name> [1]
</...>
<xs:complexType name="entity-group-mappingType">
<xs:sequence>
<xs:element name="group-name" type=" xs:string "/>
</xs:sequence>
</xs:complexType>
Complex Type: groupType
| Complex Type: |
groupType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
groupType |
| Abstract |
no |
<...>
<openejb:group-name> xs:string </openejb:group-name> [1]
<openejb:cmp-field-name> xs:string </openejb:cmp-field-name> [0..*]
<openejb:cmr-field> [0..*]
<openejb:cmr-field-name> xs:string </openejb:cmr-field-name> [1]
<openejb:group-name> xs:string </openejb:group-name> [0..1]
</openejb:cmr-field>
</...>
<xs:complexType name="groupType">
<xs:sequence>
<xs:element name="group-name" type=" xs:string "/>
<xs:element name="cmp-field-name" type=" xs:string " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="cmr-field" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="cmr-field-name" type=" xs:string "/>
<xs:element name="group-name" type=" xs:string " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
Complex Type: message-driven-beanType
| Complex Type: |
message-driven-beanType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
message-driven-beanType |
| Abstract |
no |
<...
id=" xs:ID [0..1]">
<openejb:ejb-name> xs:string </openejb:ejb-name> [1]
<naming:resource-adapter> ... </naming:resource-adapter> [1]
<openejb:activation-config> openejb:activation-configType </openejb:activation-config> [0..1]
</...>
<xs:complexType name="message-driven-beanType">
<xs:sequence>
<xs:element name="ejb-name" type=" xs:string "/>
<xs:element ref=" naming:resource-adapter "/>
<xs:element name="activation-config" type=" openejb:activation-configType " minOccurs="0"/>
<xs:group ref=" naming:jndiEnvironmentRefsGroup "/>
</xs:sequence>
<xs:attribute name="id" type=" xs:ID "/>
</xs:complexType>
Complex Type: openejb-jarType
| Complex Type: |
openejb-jarType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
openejb-jarType |
| Abstract |
no |
<...
<sys:environment>...</sys:environment>
<sys:import> ... </sys:import> [0..*]
<sys:dependency> ... </sys:dependency> [0..*]
<naming:cmp-connection-factory> ... </naming:cmp-connection-factory> [0..1]
<openejb:ejb-ql-compiler-factory> xs:string </openejb:ejb-ql-compiler-factory> [0..1]
<openejb:db-syntax-factory> xs:string </openejb:db-syntax-factory> [0..1]
<openejb:enforce-foreign-key-constraints> openejb:emptyType </openejb:enforce-foreign-key-constraints> [0..1]
<openejb:enterprise-beans> [1]
Start Choice [0..*]
<openejb:session> openejb:session-beanType </openejb:session> [1]
<openejb:entity> openejb:entity-beanType </openejb:entity> [1]
<openejb:message-driven> openejb:message-driven-beanType </openejb:message-driven> [1]
End Choice
</openejb:enterprise-beans>
<openejb:relationships> openejb:relationshipsType
<!--
Uniqueness Constraint - relationship-name-uniqueness
Selector - openejb:ejb-relation
Field(s) - openejb:ejb-relation-name
-->
</openejb:relationships> [0..1]
<naming:message-destination> ... </naming:message-destination> [0..*]
<security:security> ... </security:security> [0..1]
<sys:gbean> ... </sys:gbean> [0..*]
</...>
<xs:complexType name="openejb-jarType">
<xs:sequence>
<xs:element ref=" sys:import " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" sys:dependency " minOccurs="0" maxOccurs="unbounded"/>
<-- use a ref to put this element in the naming namespace rather than openejb namespace-->
<xs:element ref=" naming:cmp-connection-factory " minOccurs="0"/>
<xs:element name="ejb-ql-compiler-factory" type=" xs:string " minOccurs="0"/>
<xs:element name="db-syntax-factory" type=" xs:string " minOccurs="0"/>
<xs:element name="enforce-foreign-key-constraints" type=" openejb:emptyType " minOccurs="0"/>
<xs:element name="enterprise-beans">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="session" type=" openejb:session-beanType "/>
<xs:element name="entity" type=" openejb:entity-beanType "/>
<xs:element name="message-driven" type=" openejb:message-driven-beanType "/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="relationships" type=" openejb:relationshipsType " minOccurs="0">
<xs:unique name="relationship-name-uniqueness">
<xs:selector xpath="openejb:ejb-relation"/>
<xs:field xpath="openejb:ejb-relation-name"/>
</xs:unique>
</xs:element>
<xs:element ref=" naming:message-destination " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" security:security " minOccurs="0"/>
<xs:element ref=" sys:gbean " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="configId" type=" xs:string " use="required"/>
<xs:attribute name="parentId" type=" xs:string " use="optional"/>
</xs:complexType>
Complex Type: queryType
| Complex Type: |
queryType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
queryType |
| Abstract |
no |
<...>
<openejb:query-method> [1]
<openejb:method-name> xs:string </openejb:method-name> [1]
<openejb:method-params> [1]
<openejb:method-param> xs:string </openejb:method-param> [0..*]
</openejb:method-params>
</openejb:query-method>
<openejb:result-type-mapping> xs:string </openejb:result-type-mapping> [0..1]
<openejb:ejb-ql> xs:string </openejb:ejb-ql> [0..1]
<openejb:no-cache-flush> ... </openejb:no-cache-flush> [0..1]
<openejb:group-name> xs:string </openejb:group-name> [0..1]
</...>
<xs:complexType name="queryType">
<xs:sequence>
<xs:element name="query-method">
<xs:complexType>
<xs:sequence>
<xs:element name="method-name" type=" xs:string "/>
<xs:element name="method-params">
<xs:complexType>
<xs:sequence>
<xs:element name="method-param" type=" xs:string " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="result-type-mapping" type=" xs:string " minOccurs="0"/>
<xs:element name="ejb-ql" type=" xs:string " minOccurs="0"/>
<xs:element name="no-cache-flush" minOccurs="0"/>
<xs:element name="group-name" type=" xs:string " minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Element : relationshipsType
| Name |
relationshipsType |
| Abstract |
no |
<...>
<openejb:ejb-relation> openejb:ejb-relationType
<!--
Uniqueness Constraint - role-name-uniqueness
Selector - .//openejb:ejb-relationship-role-name
Field(s) - .
-->
</openejb:ejb-relation> [1..*]
</...>
<xs:complexType name="relationshipsType">
<xs:sequence>
<xs:element name="ejb-relation" type=" openejb:ejb-relationType " maxOccurs="unbounded">
<xs:unique name="role-name-uniqueness">
<xs:selector xpath=".//openejb:ejb-relationship-role-name"/>
<xs:field xpath="."/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
Complex Type: session-beanType
| Complex Type: |
session-beanType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
session-beanType |
| Abstract |
no |
<...
id=" xs:ID [0..1]">
<openejb:ejb-name> xs:string </openejb:ejb-name> [1]
<openejb:jndi-name> xs:string </openejb:jndi-name> [0..*]
<openejb:local-jndi-name> xs:string </openejb:local-jndi-name> [0..*]
Start Group: openejb:tssGroup [0..1]
Start Choice [1]
<openejb:tss-target-name> xs:string </openejb:tss-target-name> [1]
<openejb:tss-link> xs:string </openejb:tss-link> [1]
<openejb:tss> openejb:tssType </openejb:tss> [1]
End Choice
End Group: openejb:tssGroup
<openejb:web-service-address> xs:string </openejb:web-service-address> [0..1]
<openejb:web-service-virtual-host> xs:string </openejb:web-service-virtual-host> [0..*]
<openejb:web-service-security> openejb:web-service-securityType </openejb:web-service-security> [0..1]
</...>
<xs:complexType name="session-beanType">
<xs:sequence>
<xs:element name="ejb-name" type=" xs:string "/>
<xs:element name="jndi-name" type=" xs:string " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="local-jndi-name" type=" xs:string " minOccurs="0" maxOccurs="unbounded"/>
<xs:group ref=" openejb:tssGroup " minOccurs="0"/>
<xs:group ref=" naming:jndiEnvironmentRefsGroup "/>
<xs:element name="web-service-address" type=" xs:string " minOccurs="0"/>
<xs:element name="web-service-virtual-host" type=" xs:string " minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="web-service-security" type=" openejb:web-service-securityType " minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type=" xs:ID "/>
</xs:complexType>
Complex Type: tssType
| Complex Type: |
tssType |
| Super-types: |
None |
| Sub-types: |
None |
<...>
<openejb:domain> xs:string </openejb:domain> [0..1]
<openejb:server> xs:string </openejb:server> [0..1]
<openejb:application> xs:string </openejb:application> [0..1]
<openejb:module> xs:string </openejb:module> [0..1]
<openejb:name> xs:string </openejb:name> [1]
</...>
<xs:complexType name="tssType">
<xs:sequence>
<xs:element name="domain" type="xs:string" minOccurs="0"/>
<xs:element name="server" type="xs:string" minOccurs="0"/>
<xs:element name="application" type="xs:string" minOccurs="0"/>
<xs:element name="module" type="xs:string" minOccurs="0"/>
-->
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
Complex Type: web-service-securityType
| Complex Type: |
web-service-securityType |
| Super-types: |
None |
| Sub-types: |
None |
| Name |
web-service-securityType |
| Abstract |
no |
<...>
<openejb:security-realm-name> xs:string </openejb:security-realm-name> [1]
<openejb:realm-name> xs:string </openejb:realm-name> [0..1]
<openejb:transport-guarantee> openejb:transport-guaranteeType </openejb:transport-guarantee> [1]
<openejb:auth-method> openejb:auth-methodType </openejb:auth-method> [1]
</...>
<xs:complexType name="web-service-securityType">
<xs:sequence>
<xs:element name="security-realm-name" type=" xs:string "/>
<xs:element name="realm-name" type=" xs:string " minOccurs="0"/>
<xs:element name="transport-guarantee" type=" openejb:transport-guaranteeType "/>
<xs:element name="auth-method" type=" openejb:auth-methodType "/>
</xs:sequence>
</xs:complexType>
Model Group: tssGroup