blob: e01623a393980889e717609f875679622060169d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<xs:schema
xmlns:openejb="http://geronimo.apache.org/xml/ns/j2ee/ejb/openejb-2.0"
targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/ejb/openejb-2.0"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:app="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:ee="http://java.sun.com/xml/ns/persistence"
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.2" schemaLocation="geronimo-naming-1.2.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/j2ee/application-2.0" schemaLocation="geronimo-application-2.0.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2" schemaLocation="geronimo-module-1.2.xsd"/>
<xs:import namespace="http://java.sun.com/xml/ns/persistence" schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"/>
<xs:element name="ejb-jar" type="openejb:geronimo-ejb-jarType"/>
<xs:complexType name="emptyType"/>
<xs:complexType name="geronimo-ejb-jarType">
<xs:sequence>
<xs:element ref="sys:environment" minOccurs="0"/>
<xs:element ref="app:clustering" minOccurs="0">
<xs:annotation>
<xs:documentation>
Reference to abstract clustering element defined in
imported "geronimo-application-2.0.xsd"
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="openejb-jar" type="openejb:openejb-jarType" minOccurs="0"/>
<!-- Naming -->
<xs:group ref="naming:jndiEnvironmentRefsGroup" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="naming:message-destination" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="tss-link" type="openejb:tss-linkType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="web-service-binding" type="openejb:web-service-bindingType" minOccurs="0" maxOccurs="unbounded"/>
<!-- Security -->
<xs:element ref="app:security" minOccurs="0"/>
<!-- GBeans -->
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="sys:service"/>
<xs:element ref="ee:persistence"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<!-- TODO there is no need for the extra wrapper other then xmlbean is overly enforcing the unique particle attribution rule -->
<xs:complexType name="openejb-jarType">
<xs:sequence>
<xs:any namespace="##other" processContents="lax"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="tss-linkType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string" minOccurs="0"/>
<xs:element name="tss-name" type="xs:string" minOccurs="0"/>
<xs:element name="jndi-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="web-service-bindingType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
<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: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:element name="http-method" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</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:schema>