HomeApache Geronimo v1.1 > Documentation > Apache Geronimo v1.1 - User's Guide > XML schemas > openejb-jar-2.1.xsd


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.

openejb-jar-2.1.xsd
<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"/>

            <!-- 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:complexType>

    <!-- session bean section-->
    <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>
            <!-- this is object name group from geronimo-naming.xsd -->
            <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="type" 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>

    <!--entity bean section -->
    <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>


    <!--message driven bean section-->
    <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

Target Namespace http://www.openejb.org/xml/ns/openejb-jar-2.1
Version 1.1
Element and Attribute Namespaces Global element and attribute declarations belong to this schema's target
namespace.
By default, local element declarations belong to this schema's target
namespace.
By default, local attribute declarations have no namespace.
Schema Composition This schema imports schema(s) from the following namespace(s):
http://geronimo.apache.org/xml/ns/naming-1.1 (at geronimo-naming-1.1.xsd)
http://geronimo.apache.org/xml/ns/security-1(at geronimo-security-1.1.xsd)
http://geronimo.apache.org/xml/ns/deployment-1.1 (at geronimo-module-1.1.xsd)
http://www.openejb.org/xml/ns/pkgen-2.0 (at openejb-pkgen-2.0.xsd)

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
Schema Component Representation
<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
XML Instance Representation: openejb-jar
<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>
Schema Component Representation: 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
XML Instance Representation: activation-config-propertyType
<...> 
 
<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] 
</...>
Schema Component Representation: activation-config-propertyType
<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
XML Instance Representation: activation-configType
<...> 
 
<openejb:description>  xs:string </openejb:description> [0..*] 
<openejb:activation-config-property>  openejb:activation-config-propertyType  </openejb:activation-config-property> [1..*] 
</...>
Schema Component Representation: activation-configType
<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
XML Instance Representation: cmp-field-group-mappingType
<...> 
 
<openejb:group-name>  xs:string </openejb:group-name> [1] 
<openejb:cmp-field-name>  xs:string </openejb:cmp-field-name> [1] 
</...>
Schema Component Representation: cmp-field-group-mappingType
<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
XML Instance Representation: cmr-field-group-mappingType
<...> 
 
<openejb:group-name>  xs:string </openejb:group-name> [1] 
<openejb:cmr-field-name>  xs:string </openejb:cmr-field-name> [1] 
</...>
Schema Component Representation: cmr-field-group-mappingType
<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
XML Instance Representation: ejb-relationship-roleType
<...> 
 
<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>
</...>
Schema Component Representation: ejb-relationship-roleType
<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
XML Instance Representation: ejb-relationType
<...> 
 
<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] 
</...>
Schema Component Representation: ejb-relationType
<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
XML Instance Representation: emptyType
<.../>
Schema Component Representation: emptyType
<xs:complexType name="emptyType"/>

Complex Type: entity-beanType

Complex Type: entity-beanType
Super-types: None
Sub-types: None
Name entity-beanType
Abstract no
XML Instance Representation: entity-beanType
<...
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..*]
</...>
Schema Component Representation: entity-beanType
<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
XML Instance Representation: entity-group-mappingType
<...>
<openejb:group-name> xs:string </openejb:group-name> [1]
</...>
Schema Component Representation: entity-group-mappingType
<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
XML Instance Representation: groupType
<...>
<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>
</...>
Schema Component Representation: groupType
<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
XML Instance Representation: message-driven-beanType
<...
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]
</...>
Schema Component Representation: message-driven-beanType
<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
XML Instance Representation: openejb-jarType
<...
<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..*]
</...>
Schema Component Representation: openejb-jarType
<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
XML Instance Representation: queryType
<...>
<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]
</...>
Schema Component Representation: queryType
<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
XML Instance Representation: relationshipsType
<...>
<openejb:ejb-relation> openejb:ejb-relationType
<!--
Uniqueness Constraint - role-name-uniqueness
Selector - .//openejb:ejb-relationship-role-name
Field(s) - .
-->
</openejb:ejb-relation> [1..*]
</...>
Schema Component Representation: relationshipsType
<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
XML Instance Representation: session-beanType
<...
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]
</...>
Schema Component Representation: session-beanType
<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
Name tssType
Abstract no
XML Instance Representation: tssType
<...>
<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]
</...>
Schema Component Representation: tssType
<xs:complexType name="tssType">
        <xs:sequence>
            <!-- this is object name group from geronimo-naming.xsd -->
            <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="type" 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
XML Instance Representation: web-service-securityType
<...>
<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]
</...>
Schema Component Representation: web-service-securityType
<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

Model Group: tssGroup
Name tssGroup
XML Instance Representation: tssGroup
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
Schema Component Representation: tssGroup
<xs:group name="tssGroup">
<xs:sequence>
<xs:choice>
<xs:element name="tss-target-name" type=" xs:string "/>
<xs:element name="tss-link" type=" xs:string "/>
<xs:element name="tss" type=" openejb:tssType "/>
</xs:choice>
</xs:sequence>
</xs:group>

Simple Type: auth-methodType

Simple Type: auth-methodType
Super-types: xs:string &lt; auth-methodType (by restriction)
Sub-types: None
Name auth-methodType
Content
  • Base XSD Type: string
  • value comes from list:
    • BASIC
    • DIGEST
    • CLIENT-CERT
    • NONE
Schema Component Representation: auth-methodType
<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>

Simple Type: transport-guranteeType

Simple Type: transport-guaranteeType
Super-types: xs:string < transport-guaranteeType (by restriction)
Sub-types: None
Name transport-guranteeType
Content
  • Base XSD Type: string
  • value comes from list:
    • NONE
    • INTEGRAL
    • CONFIDENTIAL
Schema Component Representation: transport-guranteeType
<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>

Legend

Complex Type: AusAddress
Schema Component Type Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:  

QLDAddress (by restriction)

If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.

Name AusAddress
Abstract no
The table above displays the properties of this schema component.
XML Instance Representation
<...    country="Australia"  >
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice [1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1] ?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

  • The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. 0..1.
  • Model group information are shown in gray, e.g. Start Choice ... End Choice.
  • For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
  • If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
  • Otherwise, the type of the element/attribute is displayed.
    o If the element/attribute's type is in the schema, a link is provided to it.
    o For local simple type definitions, the constraints are displayed in angle brackets,
    e.g. <pattern = [1-9][0-9]{3}/>
  • If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
Schema Component Representation
<complexType  name="AusAddress">
<complexContent>
<extension base=" Address ">
<sequence>
<element name="state" type=" AusStates "/>
<element name="postcode">
<simpleType>
<restriction base=" string ">
<pattern value="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attribute name="country" type=" string " fixed="Australia"/>
</extension>
</complexContent>
</complexType>

The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.