blob: c106a1273152480e2eae9a0c8b4ad6d6d027cfd6 [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.
-->
<xsd:schema targetNamespace="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:gernaming="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0">
<xsd:annotation>
<xsd:documentation>
This is a partial XML Schema Definition for common naming elements
for resolving EJB, Web, services, or resource references. This
schema will never be used directly but its elements are used in
geronimo-application-client-2.0.xsd, geronimo-connector-1.2.xsd,
geronimo-web-2.0.1.xsd, geronimo-tomcat-2.0.1.xsd, and
geronimo-jetty-2.0.2.xsd. All the schema's or plans using elements of
this schema must specify the top level element with one of the
namespace specified as
"http://geronimo.apache.org/xml/ns/naming-1.2". The default
location for this document is
http://geronimo.apache.org/xml/ns/naming-1.2
</xsd:documentation>
</xsd:annotation>
<xsd:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2"
schemaLocation="geronimo-module-1.2.xsd">
<xsd:annotation>
<xsd:documentation>
Import Geronimo Services deployment plans, the imported plan
includes complex types like moduleType, environmentType,
dependenciesType, etc. required by this plan schema.
</xsd:documentation>
</xsd:annotation>
</xsd:import>
<xsd:element name="env-entry" type="gernaming:env-entryType">
<xsd:annotation>
<xsd:documentation>
The element env-entry is used to override env-entry
values supplied in the JavaEE deployment descriptor
or annotations. There must be an env-entry with the
same name in the deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ejb-ref" type="gernaming:ejb-refType">
<xsd:annotation>
<xsd:documentation>
The element ejb-ref is used to map EJB references to EJB's in
other applications using remote home and remote interface. The
application which contains the EJB being referenced should
either be in same EAR or should be included in dependency list
of this application. Also note as the EJB's referenced are in a
different JVM all the Client interfaces should also be included
in current application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ejb-local-ref" type="gernaming:ejb-local-refType">
<xsd:annotation>
<xsd:documentation>
The element ejb-local-ref is used to map EJB references to EJB's
in other applications using local home and local interface. The
application which contains the EJB being referenced should
either be in same EAR or should be included in dependency list
of this application. Also note as the EJB's referenced are in a
different JVM all the Client interfaces should also be included
in current application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="service-ref" type="gernaming:service-refType">
<xsd:annotation>
<xsd:documentation>
The element service-ref is used to map service references to
service's in other applications. The application which contains
the EJB being referenced should either be in same EAR or should
be included in dependency list of this application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-ref" type="gernaming:resource-refType">
<xsd:annotation>
<xsd:documentation>
The element resource-ref is used to map resource references to
resources's like JDBC resources, JMS resources, etc. configured
outside the current application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-env-ref"
type="gernaming:resource-env-refType">
<xsd:annotation>
<xsd:documentation>
The element resource-env-ref is used to map resource references
to administrative objects deployed as a part of connectors.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-destination"
type="gernaming:message-destinationType">
<xsd:annotation>
<xsd:documentation>
The element message-destination is used to configure a JMS queue
or topic which act like a destination for the messages
delivered.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group name="jndiEnvironmentRefsGroup">
<xsd:annotation>
<xsd:documentation>
This group keeps the usage of the contained JNDI environment
reference elements consistent across J2EE deployment
descriptors.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="gernaming:abstract-naming-entry" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="env-entry" type="gernaming:env-entryType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element env-entry is used to override env-entry
values supplied in the JavaEE deployment descriptor
or annotations. There must be an env-entry with the
same name in the deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ejb-ref" type="gernaming:ejb-refType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element ejb-ref is used to map EJB references to
EJB's in other applications using remote home and remote
interface. The application which contains the EJB being
referenced should either be in same EAR or should be
included in dependency list of this application. Also
note as the EJB's referenced are in a different JVM all
the Client interfaces should also be included in current
application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ejb-local-ref" type="gernaming:ejb-local-refType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element ejb-local-ref is used to map EJB references
to EJB's in other applications using local home and
local interface. The application which contains the EJB
being referenced should either be in same EAR or should
be included in dependency list of this application. Also
note as the EJB's referenced are in a different JVM all
the Client interfaces should also be included in current
application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="service-ref" type="gernaming:service-refType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element service-ref is used to map service
references to service's in other applications. The
application which contains the EJB being referenced
should either be in same EAR or should be included in
dependency list of this application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-ref" type="gernaming:resource-refType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element resource-ref is used to map resource
references to resources's like JDBC resources, JMS
resources, etc. configured outside the current
application.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-env-ref"
type="gernaming:resource-env-refType" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element resource-env-ref is used to map resource
references to administrative objects deployed as a part
of connectors.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:element name="abstract-naming-entry" abstract="true"
type="gernaming:abstract-naming-entryType">
<xsd:annotation>
<xsd:documentation>
The element abstract-naming-entry is an abstract element used as
a generic element for all the references.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="abstract-naming-entryType" abstract="true">
<xsd:sequence></xsd:sequence>
</xsd:complexType>
<xsd:complexType name="env-entryType">
<xsd:sequence>
<xsd:element name="env-entry-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element env-entry-name is used to identify this env-entry.
This name should be unique in a module and
will be used by application as a part of JNDI name for
the environment entry. The JNDI name used will be
"java:/comp/env/env-entry-name. It must be identical to the
"env-entry-name" provided in the deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="env-entry-value" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element env-entry-value supplies the value
for the environment entry to be used instead of
the value provided in the deployment descriptor
or annotation.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!--ejb-link acts like ejb-link in spec descriptors-->
<!--resource-link contains the name of the outbound-connectionfactory-instance -->
<!--message-destination-link acts like message-destination-link in spec descriptors-->
<!--url in resource-ref contains the url for URL typed resource refs-->
<!--Possibly the external-uri element should be revived to connect to other naming systems-->
<!--when server to server communication exists we will need an element in ejb-ref to specify the geronimo server
we wish to talk to. It might be possible to use the objectName server element for this depending on what we decide it means-->
<!--otherwise you can supply the entire object name using the gbean-nameGroup-->
<xsd:complexType name="ejb-refType">
<xsd:sequence>
<xsd:element name="ref-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ref-name is used to identify this remote ejb
reference. This name should be unique in a module and
will be used by application as a part of JNDI name for
the referenced ejb. The JNDI name used will be
"java:/comp/env/ref-name. It should map to the
"ejb-ref-name" provided in deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="pattern" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide additional
selection criterion for remote ejbs if multiple ejbs
with same ejb-link exists in EAR or dependency
modules. The pattern mapped should result in single
remote EJB.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="gernaming:corbaNameGroup">
<xsd:annotation>
<xsd:documentation>
Reference to corbaNameGroup defined later in this
schema. This group defines the EJB using CORBA as
communication protocol.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:element name="ejb-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ejb-link is used to identify the remote
ejb specified in same EAR or dependency modules.
This name should match the ejb-name defined in EJB
deployment descriptor. If the name is not unique the
pattern element will be used to uniquely identify
this remote ejb.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ejb-local-refType">
<xsd:sequence>
<xsd:element name="ref-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ref-name is used to identify this local ejb
reference. This name should be unique in a module and
will be used by application to as a part of JNDI name
for the referenced ejb. The JNDI name used will be
"java:/comp/env/ref-name. It should map to the
"ejb-ref-name" provided in deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="pattern" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide additional
selection criterion for local ejb's if multiple
local ejb's with same ejb-link exists in EAR or
dependency modules. The pattern mapped should result
in single local EJB.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ejb-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ejb-link is used to identify the local
ejb specified in same EAR or dependency modules.
This name should match the ejb-name defined in EJB
deployment descriptor. If the name is not unique the
pattern element will be used to uniquely identify
this local ejb.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="resource-refType">
<xsd:sequence>
<xsd:element name="ref-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ref-name is used to identify this resource
reference. This name should be unique in a module and
will be used by application to as a part of JNDI name
for the referenced resource. The JNDI name used will be
"java:/comp/env/ref-name. It should map to the
"resource-ref-name" provided in deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="pattern" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide additional
selection criterion for resources if multiple
resources with same resource-link or URI exists
dependency modules. The pattern mapped should result
in single resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element resource-link is used to identify the
JDBC, JMS, or JavaMail resource specified in all the
dependency modules. This name should match the
connectiondefination-instance/name defined in
resource adapter deployment descriptor. If the name
is not unique the pattern element will be used to
uniquely identify this resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="url" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element url is used to identify the resources of
type java.net.URL deployed in all the dependency
modules. If the url doesn't map to unique resource
the pattern element will be used to uniquely
identify this resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="gbean-ref" type="gernaming:gbean-refType"
substitutionGroup="gernaming:abstract-naming-entry">
<xsd:annotation>
<xsd:documentation>
The element gbean-ref is used to map gbean references to gbeans
configured outside the current module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="gbean-refType">
<xsd:complexContent>
<xsd:extension base="gernaming:abstract-naming-entryType">
<xsd:sequence>
<xsd:element name="ref-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ref-name is used to identify this
gbean reference. This name should be unique in a
module and will be used by application to as a
part of JNDI name for the referenced gbean. The
JNDI name used will be "java:/comp/env/ref-name.
It should map to the "ref-name" provided in
deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ref-type" type="xsd:string" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element ref-type is used to specify the
interface implemented by GBean being referenced.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="pattern"
type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide
additional selection criterion for gbeans if
multiple gbeans with same name exists in
dependency modules. The pattern mapped
should result in single gbean.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="persistence-unit-ref"
type="gernaming:persistence-unit-refType"
substitutionGroup="gernaming:abstract-naming-entry">
<xsd:annotation>
<xsd:documentation>
The element persistence-unit-ref is used to map persistence unit
references to persistence units configured outside the current
module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="persistence-unit-refType">
<xsd:complexContent>
<xsd:extension base="gernaming:abstract-naming-entryType">
<xsd:sequence>
<xsd:element name="persistence-unit-ref-name"
type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element persistence-unit-ref-name is used to
identify this persistence unit reference. This
name should be unique in a module and will be
used by application as a part of JNDI name for
the referenced persistence unit. The JNDI name
used will be "java:/comp/env/ref-name. It should
map to the "ref-name" provided in deployment
descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="persistence-unit-name"
type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element persistence-unit-name is used to
identify persistence unit specified in any
of the dependency modules. This name should
match the persistence-unit-name defined in
deployment descriptor. If the name is not
unique the pattern element will be used to
uniquely identify this persistence unit.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="pattern"
type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide
additional selection criterion for
persistence units if multiple persistence
units with same persistence-unit-name exists
in dependency modules. The pattern mapped
should result in single persistence unit.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="persistence-context-ref"
type="gernaming:persistence-context-refType"
substitutionGroup="gernaming:abstract-naming-entry">
<xsd:annotation>
<xsd:documentation>
The element entity-manager-factory-ref is used to map
persistence context references to persistence contexts
configured outside the current module.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="persistence-context-refType">
<xsd:complexContent>
<xsd:extension base="gernaming:abstract-naming-entryType">
<xsd:sequence>
<xsd:element name="persistence-context-ref-name"
type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ref-name is used to identify this
persistence context reference. This name should
be unique in a module and will be used by
application as a part of JNDI name for the
referenced persistence context. The JNDI name
used will be "java:/comp/env/ref-name. It should
map to the "ref-name" provided in deployment
descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="persistence-unit-name"
type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element persistence-unit-name is used to
identify persistence context specified in
any of the dependency modules. This name
should match the persistence-unit-name
defined in deployment descriptor. If the
name is not unique the pattern element will
be used to uniquely identify this
persistence unit.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="pattern"
type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide
additional selection criterion for
persistence context's if multiple
persistence context's with same
persistence-unit-name exists in dependency
modules. The pattern mapped should result in
single persistence context.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="persistence-context-type"
type="gernaming:persistence-context-typeType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The element persistence-context-type is used to
provide transaction features if persistence
context reference. It can have value of
transaction-scoped or extended.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property" type="gernaming:propertyType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element property is used to provide vendor
specific properties for persistence context
reference.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="persistence-context-typeType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Transactional" />
<xsd:enumeration value="Extended" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="propertyType">
<xsd:sequence>
<xsd:element name="key" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element key provides the key identifying this
property.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element value provides the value for this property.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- used by openejb cmp datasource specification -->
<xsd:element name="cmp-connection-factory"
type="gernaming:resource-locatorType">
<xsd:annotation>
<xsd:documentation>
The element cmp-connection-factory defines the connection pool
which will be used by CMP entity beans to connect to datasource.
This element will be used by openejb specifications.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!-- used by openejb mdb resource adapter specification -->
<xsd:element name="resource-adapter"
type="gernaming:resource-locatorType">
<xsd:annotation>
<xsd:documentation>
The element resource-adapter defines the JMS destination which
will be used by MDB to connect to destination. This element will
be used by openejb specifications.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="resource-locatorType">
<xsd:sequence>
<xsd:choice>
<xsd:element name="pattern" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide additional
selection criterion for resources if multiple
resources with same resource-name exists in
dependency modules. The pattern mapped should result
in single resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element resource-link is used to identify the
JDBC, JMS, or JavaMail resource specified in all the
dependency modules. This name should match the
connectiondefination-instance/name defined in
resource adapter deployment descriptor. If the name
is not unique the pattern element will be used to
uniquely identify this resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="url" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element url is used to identify the resources of
type java.net.URL deployed in all the dependency
modules. If the url doesn't map to unique resource
the pattern element will be used to uniquely
identify this resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="resource-env-refType">
<xsd:sequence>
<xsd:element name="ref-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element ref-name is used to identify this resource
reference. This name should be unique in a module and
will be used by application as a part of JNDI name for
the referenced resource. The JNDI name used will be
"java:/comp/env/ref-name. It should map to the
"res-ref-name" provided in deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="pattern" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide additional
selection criterion for admin object's if multiple
admin object's with same admin-object-link exists in
dependency modules. The pattern mapped should result
in single admin object.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-destination-link"
type="xsd:string">
<xsd:annotation>
<xsd:documentation>
This element is deprecated and should not be used.
Use admin-object-link instead. That is effectively a
renamed version of this.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence>
<xsd:element name="admin-object-module" type="xsd:string"
minOccurs="0" />
<xsd:element name="admin-object-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element admin-object-link is used to
identify the admin object resource specified in
any of the dependency modules. This name should
match the message-definition-name defined in
admin object section of deployment descriptor.
If the name is not unique the pattern element
will be used to uniquely identify this admin
object resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:element name="reference-class" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element class is used to specify the class of the
Object referred to by a Reference.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="string-addr-type" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The addrType for a StringRefAddr
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="string-addr" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The addr for a StringRefAddr
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:element name="object-factory" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The element object-factory is used to specify an
ObjectFactory class to use in a Reference. This must
be registered so the osgi object factory locator can
find it.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="object-factory-location" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The element object-factory is used to specify an
ObjectFactory class to use in a Reference. This must
be registered so the osgi object factory locator can
find it.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="message-destinationType">
<xsd:sequence>
<xsd:element name="message-destination-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element message-destination-name is used to identify
this message destination reference. This name should be
unique in a module and will be used by application to as
a part of JNDI name for the message destination. The
JNDI name used will be "java:/comp/env/ref-name. It
should map to the "message-destination-name" provided in
deployment descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="pattern" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide additional
selection criterion for JMS destination's if
multiple destination's with same admin-object-link
exists in dependency modules. The pattern mapped
should result in single destination.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:sequence>
<xsd:element name="admin-object-module" type="xsd:string"
minOccurs="0" />
<xsd:element name="admin-object-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element admin-object-link is used to
identify the admin object resource specified in
any of the dependency modules. This name should
match the message-definition-name defined in
admin object section of deployment descriptor.
If the name is not unique the pattern element
will be used to uniquely identify this admin
object resource.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<!-- used by resource adapter -->
<xsd:element name="workmanager" type="gernaming:gbean-locatorType">
<xsd:annotation>
<xsd:documentation>
The element workmanager defines the work manager implementation
used by resource adapter. This element will be used by resource
adapter plan.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!-- used by web apps/builders -->
<xsd:element name="web-container" type="gernaming:gbean-locatorType">
<xsd:annotation>
<xsd:documentation>
The element web-container defines the binding between web
application and web container instance. It specifies which
container application should be deployed to.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="gbean-locatorType">
<xsd:sequence>
<xsd:choice>
<xsd:element name="pattern" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element pattern is used to provide additional
selection criterion for gbean's if multiple gbean's
with same name exists in dependency modules. The
pattern mapped should result in single gbean.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="gbean-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element gbean-link is used to identify the gbean
deployed in any of the dependency modules. This name
should match the gbean-name defined in deployment
plane. If the name is not unique the pattern element
will be used to uniquely identify this gbean.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="patternType">
<xsd:sequence>
<xsd:element name="groupId" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The name for group containing module to match. By
default is it considered wild card '*'.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="artifactId" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The name for module in a specified group to be matched.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="version" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The version number for the module formatted by dot
separated numbers. If no version is provided it will be
defaulted latest available version matching other
criterions.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="module" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The value specified here should match the file name of
the module referenced.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The name element to identify the referenced GBean by
name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="serverGroup">
<xsd:annotation>
<xsd:documentation>
This group contains the protocol, address, and port for a server
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="protocol" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The protocol element is used to specify the network
protocol used for connection. This could be http or
https.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="host" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The host element is used to specify the network host to
connect.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port" type="xsd:int">
<xsd:annotation>
<xsd:documentation>
The port element is used to specify the network port to
connect.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:complexType name="portType">
<xsd:sequence>
<xsd:element name="port-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The port-name element provides the name to identify the
port to connect.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group ref="gernaming:serverGroup" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Reference to serverGroup defined later in this schema.
</xsd:documentation>
</xsd:annotation>
</xsd:group>
<xsd:element name="uri" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The uri element provides the path to particular resource
once connection is established.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="credentials-name" type="xsd:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The credentials-name element provides the credentials
name to identify the credentials used for secure
connections.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property" type="gernaming:portPropertyType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="portPropertyType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="service-refType">
<xsd:sequence>
<xsd:element name="service-ref-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element service-ref-name is used to identify this
service reference. This name should be unique in a
module and will be used by application to as a part of
JNDI name for the web service. The JNDI name used will
be "java:/comp/env/ref-name. It should map to the
"service-ref-name" provided in service-ref of deployment
descriptor.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="service-completion"
type="gernaming:service-completionType">
<xsd:annotation>
<xsd:documentation>
The element service-completion is used to provide
missing information for web service. If this element
doesn't exist all the information should be
available in WSDL.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port" type="gernaming:portType"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element port defines the ports available though
service reference. If this element doesn't exist the
port information should be available in WSDL.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="service-completionType">
<xsd:sequence>
<xsd:element name="service-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element service-name provides the name of the
service missing in service block of WSDL.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="port-completion"
type="gernaming:port-completionType" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
The element port-completion provides the port
information missing in WSDL.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="port-completionType">
<xsd:sequence>
<xsd:element name="port" type="gernaming:portType">
<xsd:annotation>
<xsd:documentation>
The element port provides the port used for web services
connection.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="binding-name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The element binding-name is used to provide the name for
binding for a port and URL.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="corbaNameGroup">
<xsd:annotation>
<xsd:documentation>
This group contains the location of the CORBA name server, the
name, and the client security server used to make interop calls.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="ns-corbaloc" type="xsd:anyURI">
<xsd:annotation>
<xsd:documentation>
The corbaloc used to access the CORBA name server.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The name of the object in the name server.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
<xsd:element name="css" type="gernaming:patternType">
<xsd:annotation>
<xsd:documentation>
The element css provides the gbean name to identify
the client security service used.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="css-link" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The css-link identify the client security service by
its name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:group>
</xsd:schema>