blob: f161b7241e3e1eb7e337e058dc63a26cfbe04d9f [file] [log] [blame]
<?xml version="1.0"?>
<!--
~ 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.
-->
<!-- $Rev$ $Date$ -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.openejb.org/System/Configuration"
targetNamespace="http://www.openejb.org/System/Configuration">
<!--
-->
<xsd:element name="Connector">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="Resource">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
<xsd:attribute name="jndi" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="Container">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="ctype" type="ContainerTypes" use="required"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="Deployments">
<xsd:complexType>
<xsd:attribute name="jar" type="JarFileLocation"/>
<xsd:attribute name="dir" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="JndiProvider">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="ProxyFactory">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="SecurityService">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="TransactionManager">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="ConnectionManager">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="provider" type="xsd:string"/>
<xsd:attribute name="jar" type="JarFileLocation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<!--
-->
<xsd:element name="openejb">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Container" maxOccurs="unbounded"/>
<xsd:element ref="JndiProvider" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="SecurityService" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="TransactionManager" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="ConnectionManager" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="ProxyFactory" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="Connector" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Resource" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="Deployments" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--
#############################################
# #
# Data types that validate the input #
# #
#############################################
-->
<!-- Class name -->
<xsd:simpleType name="ClassName">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-zA-Z0-9_$.]+"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Container Types -->
<xsd:simpleType name="ContainerTypes">
<xsd:restriction base="xsd:string">
<xsd:pattern value="BMP_ENTITY|CMP_ENTITY|STATEFUL|STATELESS|MESSAGE|MANAGED|SINGLETON"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Jar File -->
<xsd:simpleType name="JarFileLocation">
<xsd:restriction base="xsd:string">
<xsd:pattern value=".*\.jar$"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>