http://git-wip-us.apache.org/repos/asf/juddi/blob/5994cd06/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxrs.xsd
----------------------------------------------------------------------
diff --git a/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxrs.xsd 
b/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxrs.xsd
new file mode 100644
index 0000000..928a3d2
--- /dev/null
+++ b/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxrs.xsd
@@ -0,0 +1,169 @@
+<?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 xmlns="http://cxf.apache.org/jaxrs";
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+  xmlns:beans="http://www.springframework.org/schema/beans";
+  xmlns:cxf-beans="http://cxf.apache.org/configuration/beans";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  targetNamespace="http://cxf.apache.org/jaxrs";
+  xmlns:tns="http://cxf.apache.org/jaxrs"; 
+  elementFormDefault="qualified"
+  attributeFormDefault="unqualified"  >
+
+  <xsd:import namespace="http://www.springframework.org/schema/beans"; 
schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd"/>
+  <xsd:import namespace="http://cxf.apache.org/configuration/beans"; 
schemaLocation="http://cxf.apache.org/schemas/configuration/cxf-beans.xsd"/>
+  
+  <xsd:element name="server">
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0" />  
+            <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="invoker" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="serviceFactories" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="outInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0"/>
+            <xsd:element name="serviceBeans" type="xsd:anyType" 
minOccurs="0"/>            
+            <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="model" type="model" minOccurs="0"/>
+            <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="extensionMappings" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="languageMappings" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="schemaLocations" type="schemasType" 
minOccurs="0"/>
+            <xsd:element name="resourceComparator" type="xsd:anyType" 
minOccurs="0"/> 
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string" />
+          <xsd:attribute name="bus" type="xsd:string" />
+          <xsd:attribute name="serviceClass" type="xsd:string"/>               
     
+          <xsd:attribute name="transportId" type="xsd:string"/>
+          <xsd:attribute name="modelRef" type="xsd:string" />
+          <xsd:attribute name="bindingId" type="xsd:string" />          
+          <xsd:attribute name="staticSubresourceResolution" 
type="xsd:boolean"/>          
+          <xsd:attribute name="beanNames" type="xsd:string"/>
+          <xsd:attribute name="serviceName" type="xsd:QName"/>
+          <xsd:attribute name="docLocation" type="xsd:string"/>
+          <xsd:attribute name="publishedEndpointUrl" type="xsd:string"/>
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  
+  <xsd:element name="client">
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0" />
+            <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="outInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" 
minOccurs="0"/>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0"/>
+            <xsd:element name="providers" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="modelBeans" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="model" type="model" minOccurs="0"/>
+            <xsd:element name="headers" type="xsd:anyType" minOccurs="0"/> 
+            <xsd:element name="schemaLocations" type="schemasType" 
minOccurs="0"/>
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string" />
+          <xsd:attribute name="serviceClass" type="xsd:string"/>
+          <xsd:attribute name="inheritHeaders" type="xsd:boolean"/>
+          <xsd:attribute name="bus" type="xsd:string" />
+          <xsd:attribute name="transportId" type="xsd:string"/>
+          <xsd:attribute name="bindingId" type="xsd:string" />
+          <xsd:attribute name="modelRef" type="xsd:string" />
+          <xsd:attribute name="username" type="xsd:string"/>
+          <xsd:attribute name="password" type="xsd:string"/>
+          <xsd:attribute name="serviceName" type="xsd:QName"/>
+          <xsd:attribute name="threadSafe" type="xsd:boolean"/>
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  
+  <xsd:complexType name="schemasType">
+    <xsd:sequence>
+      <xsd:element name="schemaLocation" type="xsd:string" minOccurs="0" 
maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="model" type="tns:model"/>
+  
+  <xsd:complexType name="model">
+    <xsd:sequence>
+      <xsd:element name="resource" minOccurs="0" maxOccurs="unbounded">
+         <xsd:complexType>
+             <xsd:sequence>
+                 <xsd:element name="operation" minOccurs="0" 
maxOccurs="unbounded">
+                    <xsd:complexType>
+                      <xsd:sequence>
+                         <xsd:element name="param" minOccurs="0" 
maxOccurs="unbounded">
+                           <xsd:complexType>
+                              <xsd:attribute name="name" type="xsd:string"/>
+                              <xsd:attribute name="type">
+                                 <xsd:simpleType>
+                                   <xsd:restriction base="xsd:string">
+                                     <xsd:enumeration value="PATH"/>
+                                     <xsd:enumeration value="QUERY"/>
+                                     <xsd:enumeration value="MATRIX"/>
+                                     <xsd:enumeration value="HEADER"/>
+                                     <xsd:enumeration value="COOKIE"/>
+                                     <xsd:enumeration value="FORM"/>
+                                     <xsd:enumeration value="CONTEXT"/>
+                                     <xsd:enumeration value="REQUEST_BODY"/>
+                                   </xsd:restriction>
+                                 </xsd:simpleType>
+                              </xsd:attribute>
+                              <xsd:attribute name="defaultValue" 
type="xsd:string"/>
+                              <xsd:attribute name="encoded" 
type="xsd:boolean"/>
+                           </xsd:complexType>
+                         </xsd:element>
+                      </xsd:sequence>
+                      <xsd:attribute name="name" type="xsd:string"/>
+                      <xsd:attribute name="path" type="xsd:string"/>
+                      <xsd:attribute name="verb" type="xsd:string"/>
+                      <xsd:attribute name="consumes" type="xsd:string"/>
+                      <xsd:attribute name="produces" type="xsd:string"/>
+                      <xsd:attribute name="oneway" type="xsd:boolean"/>
+                    </xsd:complexType>
+                 </xsd:element>
+             </xsd:sequence>
+             <xsd:attribute name="name" type="xsd:string"/>
+             <xsd:attribute name="path" type="xsd:string"/>
+             <xsd:attribute name="consumes" type="xsd:string"/>
+             <xsd:attribute name="produces" type="xsd:string"/>
+         </xsd:complexType>
+      </xsd:element>   
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:string"/>
+  </xsd:complexType>
+  
+</xsd:schema>

http://git-wip-us.apache.org/repos/asf/juddi/blob/5994cd06/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxws.xsd
----------------------------------------------------------------------
diff --git a/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxws.xsd 
b/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxws.xsd
new file mode 100644
index 0000000..08a59cd
--- /dev/null
+++ b/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/jaxws.xsd
@@ -0,0 +1,437 @@
+<?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 xmlns="http://cxf.apache.org/jaxws";
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+  xmlns:beans="http://www.springframework.org/schema/beans";
+  xmlns:cxf-beans="http://cxf.apache.org/configuration/beans";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  targetNamespace="http://cxf.apache.org/jaxws"; 
+  elementFormDefault="qualified"
+  attributeFormDefault="unqualified"  >
+
+  <xsd:import namespace="http://www.springframework.org/schema/beans"; 
schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd"/>
+  <xsd:import namespace="http://cxf.apache.org/configuration/beans"; 
schemaLocation="http://cxf.apache.org/schemas/configuration/cxf-beans.xsd"/>
+
+  <xsd:element name="endpoint">
+    <xsd:annotation>
+      <xsd:documentation>Configures a JAX-WS server. This element is 
associated with the org.apache.cxf.jaxws.EndpointImpl 
object.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the message binding used by the 
endpoint. Message bindings are configured using implementations of the 
+                  org.apache.cxf.binding.BindingFactory interface. The SOAP 
binding is configured using the soap:soapBinding bean.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the data binding used by the 
endpoint. The class implementing the JAXB data binding is 
org.apache.cxf.jaxb.JAXBDataBinding.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="executor" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures a Java executor to handle the 
service.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of beans that configure 
advanced features like WS-RM.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="handlers" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of JAX-WS handlers to add 
to the endpoint's processing chain.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="implementor" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the bean implementing the 
service. If this child is used you should not use the implementor 
attribute.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
incoming requests.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
incoming fault messages.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="invoker" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies an implementation of the 
org.apache.cxf.service.Invoker interface to be used by the service. The Invoker 
+                  implementation controls how a service is invoked. For 
example, it controls if each request is handled by a new instance of the 
+                  service implementation or if state is preserved across 
invocations.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="outInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
outgoing responses.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
outgoing fault messages.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a map of properties that are 
passed to the endpoint.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="schemaLocations" type="schemasType" 
minOccurs="0"/>
+            <xsd:element name="serviceFactory" type="xsd:anyType" 
minOccurs="0"/>
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the HTTP address of the endpoint. 
This value will override the value specified in the services 
+                contract.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="bindingUri" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the ID of the data binding the 
service will use. For SOAP bindings the IDs are defined in the JAX-WS 
+                specification. For other data bindings, the ID is the 
namespace of the WSDL extensions used to configure the
+                binding.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="bus" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the ID of the Spring bean 
configuring the bus managing the endpoint.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="implementor" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the class implementing the service. 
You can specify the implementation class using either the class 
+                name or an ID reference to a Spring bean configuring the 
implementation class. This class needs to be on the 
+                classpath.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="implementorClass" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the name of the class implementing 
the service. This attribute is useful when you specify the implementor 
+                with the ref bean which is wrapped by using Spring 
AOP.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="publish" type="xsd:boolean" default="true">
+            <xsd:annotation>
+              <xsd:documentation>Specifies if the service should be 
automatically published.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="publishedEndpointUrl" type="xsd:string"/>
+          <xsd:attribute name="endpointName" type="xsd:QName">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the value of the service's WSDL 
port element's name attribute.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="serviceName" type="xsd:QName">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the value of the service's WSDL 
service element's name attribute.</xsd:documentation>
+            </xsd:annotation>            
+          </xsd:attribute>
+          <xsd:attribute name="transportId" type="xsd:string">
+               <xsd:annotation>
+              <xsd:documentation>Specifies the transportId that endpoint will 
use, it will override the transport which is defined in the 
wsdl.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>  
+          <xsd:attribute name="wsdlLocation" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the location of the endpoint's WSDL 
contract. The WSDL contract's location is relative to the folder 
+                from which the service is deployed.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  
+  <xsd:element name="server">
+    <xsd:annotation>
+      <xsd:documentation>Configures a JAX-WS server. The element is associated 
with the org.apache.cxf.jaxws.support.JaxWsServerFactoryBean 
object.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the message binding used by the 
endpoint. Message bindings are configured using implementations of the 
+                  org.apache.cxf.binding.BindingFactory interface. The SOAP 
binding is configured using the soap:soapBinding bean.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the data binding used by the 
endpoint. The class implementing the JAXB data binding is
+                  org.apache.cxf.jaxb.JAXBDataBinding.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="executor" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures a Java executor to handle the 
service.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of beans that configure 
advanced features like WS-RM.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="handlers" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of JAX-WS handlers to add 
to the endpoint's processing chain.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
incoming requests.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
incoming fault messages.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="invoker" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies an implementation of the 
org.apache.cxf.service.Invoker interface to be used by the service. The Invoker 
+                  implementation controls how a service is invoked. For 
example, it controls if each request is handled by a new instance of the 
+                  service implementation or if state is preserved across 
invocations.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="outInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
outgoing responses.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
outgoing fault messages.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a map of properties that are 
passed to the endpoint.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="schemaLocations" type="schemasType" 
minOccurs="0"/>
+            <xsd:element name="serviceBean" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the bean implementing the 
service. If this child is used you should not use the serviceBean 
attribute.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="serviceFactory" type="xsd:anyType" 
minOccurs="0"/>
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the HTTP address of the endpoint. 
This value will override the value specified in the services 
+                contract.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="bindingId" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the ID of the data binding the 
service will use. For SOAP bindings the IDs are defined in the JAX-WS 
+                specification. For other data bindings, the ID is the 
namespace of the WSDL extensions used to configure the
+                binding.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="bus" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the ID of the Spring bean 
configuring the bus managing the endpoint.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="serviceClass" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the name of the class implementing 
the service. This attribute is useful when you specify the implementor 
+                with the ref bean which is wrapped by using Spring 
AOP.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="serviceBean" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the class implementing the service. 
You can specify the implementation class using either the class 
+                name or an ID reference to a Spring bean configuring the 
implementation class. This class needs to be on the 
+                classpath.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="start" type="xsd:boolean" default="true">
+            <xsd:annotation>
+              <xsd:documentation>Specifies if the service should be 
automatically published.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+           <xsd:attribute name="transportId" type="xsd:string">
+               <xsd:annotation>
+              <xsd:documentation>Specifies the transportId that endpoint will 
use, it will override the transport which is defined in the 
wsdl.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="wsdlLocation" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the location of the endpoint's WSDL 
contract. The WSDL contract's location is relative to the folder 
+                from which the service is deployed.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="endpointName" type="xsd:QName">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the value of the service's WSDL 
port element's name attribute.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="serviceName" type="xsd:QName">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the value of the service's WSDL 
service element's name attribute.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:element name="client">
+    <xsd:annotation>
+      <xsd:documentation>Configures a JAX-WS client.</xsd:documentation>
+    </xsd:annotation>
+    <xsd:complexType>
+      <xsd:complexContent>
+        <xsd:extension base="beans:identifiedType">
+          <xsd:all>
+            <xsd:element name="binding" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the message binding used by the 
endpoint. Message bindings are configured using implementations of the 
+                  org.apache.cxf.binding.BindingFactory interface. The SOAP 
binding is configured using the soap:soapBinding bean.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Configures the data binding used by the 
endpoint. The class implementing the JAXB data binding is 
org.apache.cxf.jaxb.JAXBDataBinding.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="features" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of beans that configure 
advanced features like WS-RM.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="handlers" type="xsd:anyType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of JAX-WS handlers to add 
to the endpoint's processing chain.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
incoming responses.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
incoming fault messages.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="outInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
outgoing requests.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="outFaultInterceptors" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a list of interceptors to process 
outgoing fault messages.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="properties" type="beans:mapType" minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a map of properties that are 
passed to the endpoint.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="conduitSelector" type="xsd:anyType" 
minOccurs="0">
+              <xsd:annotation>
+                <xsd:documentation>Specifies a 
org.apache.cxf.endpoint.ConduitSelector implementation. ConduitSelector 
implementations override the 
+                  strategy used to select the Conduit used to process outgoing 
messages.</xsd:documentation>
+              </xsd:annotation>
+            </xsd:element>
+          </xsd:all>
+          <xsd:attributeGroup ref="cxf-beans:beanAttributes"/>
+          <xsd:attribute name="address" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the HTTP address of the endpoint on 
which the client makes requests. This value will override the value 
+                specified in the services contract.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="bindingId" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the ID of the data binding the 
client will use. For SOAP bindings the IDs are defined in the JAX-WS 
+                specification. For other data bindings, the ID is the 
namespace of the WSDL extensions used to configure the
+                binding.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="bus" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the ID of the Spring bean 
configuring the bus managing the endpoint.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="endpointName" type="xsd:QName">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the value of the WSDL port 
element's name attribute for the service on which the client is making 
+                requests.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="password" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies a password that is used for simple 
username/password authentication.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="serviceClass" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the name of the class implementing 
the client.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="serviceName" type="xsd:QName">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the value of the WSDL service 
element's name attribute for the service on which the client is making 
+                requests.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="username" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies a password that is used for simple 
username/password authentication.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="transportId" type="xsd:string">
+               <xsd:annotation>
+              <xsd:documentation>Specifies the transportId that endpoint will 
use, it will override the transport which is defined in the 
wsdl.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+          <xsd:attribute name="wsdlLocation" type="xsd:string">
+            <xsd:annotation>
+              <xsd:documentation>Specifies the location of the endpoint's WSDL 
contract. The WSDL contract's location is relative to the folder 
+                from which the client is deployed.</xsd:documentation>
+            </xsd:annotation>
+          </xsd:attribute>
+        </xsd:extension>
+      </xsd:complexContent>
+    </xsd:complexType>
+  </xsd:element>
+  
+  <xsd:complexType name="schemasType">
+    <xsd:sequence>
+      <xsd:element name="schemaLocation" type="xsd:string" minOccurs="0" 
maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+  
+</xsd:schema>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/5994cd06/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/spring-beans.xsd
----------------------------------------------------------------------
diff --git 
a/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/spring-beans.xsd 
b/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/spring-beans.xsd
new file mode 100644
index 0000000..fe427c2
--- /dev/null
+++ b/juddiv3-war-repl/JAX-WS/CXF/WEB-INF/classes/schemas/spring-beans.xsd
@@ -0,0 +1,1203 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<xsd:schema xmlns="http://www.springframework.org/schema/beans";
+               xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+               targetNamespace="http://www.springframework.org/schema/beans";>
+
+       <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+
+       <xsd:annotation>
+               <xsd:documentation><![CDATA[
+       Spring XML Beans Schema, version 3.2
+       Authors: Juergen Hoeller, Rob Harrop, Mark Fisher, Chris Beams
+
+       This defines a simple and consistent way of creating a namespace
+       of JavaBeans objects, managed by a Spring BeanFactory, read by
+       XmlBeanDefinitionReader (with DefaultBeanDefinitionDocumentReader).
+
+       This document type is used by most Spring functionality, including
+       web application contexts, which are based on bean factories.
+
+       Each "bean" element in this document defines a JavaBean.
+       Typically the bean class is specified, along with JavaBean properties
+       and/or constructor arguments.
+
+       A bean instance can be a "singleton" (shared instance) or a "prototype"
+       (independent instance). Further scopes can be provided by extended
+       bean factories, for example in a web environment.
+
+       References among beans are supported, that is, setting a JavaBean 
property
+       or a constructor argument to refer to another bean in the same factory
+       (or an ancestor factory).
+
+       As alternative to bean references, "inner bean definitions" can be used.
+       Singleton flags of such inner bean definitions are effectively ignored:
+       inner beans are typically anonymous prototypes.
+
+       There is also support for lists, sets, maps, and java.util.Properties
+       as bean property types or constructor argument types.
+               ]]></xsd:documentation>
+       </xsd:annotation>
+
+       <!-- base types -->
+       <xsd:complexType name="identifiedType" abstract="true">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       The unique identifier for a bean. The scope of the identifier
+       is the enclosing bean factory.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:attribute name="id" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The unique identifier for a bean. A bean id may not be used more than 
once
+       within the same <beans> element.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+       </xsd:complexType>
+
+       <!-- Top-level <beans> tag -->
+       <xsd:element name="beans">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Container for <bean> and other elements, typically the root element in 
the document.
+       Allows the definition of default values for all nested bean 
definitions. May itself
+       be nested for the purpose of defining a subset of beans with certain 
default values or
+       to be registered only when certain profile(s) are active. Any such 
nested <beans> element
+       must be declared as the last element in the document.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="description" minOccurs="0"/>
+                               <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:element ref="import"/>
+                                       <xsd:element ref="alias"/>
+                                       <xsd:element ref="bean"/>
+                                       <xsd:any namespace="##other" 
processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+                               </xsd:choice>
+                               <xsd:element ref="beans" minOccurs="0" 
maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attribute name="profile" use="optional" 
type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The set of profiles for which this <beans> element should be parsed. 
Multiple profiles
+       can be separated by spaces, commas, or semi-colons.
+
+       If one or more of the specified profiles are active at time of parsing, 
the <beans>
+       element will be parsed, and all of its <bean> elements registered, 
&lt;import&gt;
+       elements followed, etc.  If none of the specified profiles are active 
at time of
+       parsing, then the entire element and its contents will be ignored.
+
+       If a profile is prefixed with the NOT operator '!', e.g.
+
+               <beans profile="p1,!p2">
+
+       indicates that the <beans> element should be parsed if profile "p1" is 
active or
+       if profile "p2" is not active.
+
+       Profiles are activated in one of two ways:
+               Programmatic:
+                       ConfigurableEnvironment#setActiveProfiles(String...)
+                       ConfigurableEnvironment#setDefaultProfiles(String...)
+
+               Properties (typically through -D system properties, environment 
variables, or
+               servlet context init params):
+                       spring.profiles.active=p1,p2
+                       spring.profiles.default=p1,p2
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="default-lazy-init" 
default="default" type="defaultable-boolean">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The default 'lazy-init' value; see the documentation for the
+       'lazy-init' attribute of the 'bean' element.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="default-merge" default="default" 
type="defaultable-boolean">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The default 'merge' value; see the documentation for the
+       'merge' attribute of the various collection elements. The default
+       is 'false'.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="default-autowire" 
default="default">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The default 'autowire' value; see the documentation for the
+       'autowire' attribute of the 'bean' element. The default is 'default'.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                               <xsd:simpleType>
+                                       <xsd:restriction base="xsd:NMTOKEN">
+                                               <xsd:enumeration 
value="default"/>
+                                               <xsd:enumeration value="no"/>
+                                               <xsd:enumeration 
value="byName"/>
+                                               <xsd:enumeration 
value="byType"/>
+                                               <xsd:enumeration 
value="constructor"/>
+                                       </xsd:restriction>
+                               </xsd:simpleType>
+                       </xsd:attribute>
+                       <xsd:attribute name="default-autowire-candidates" 
type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       A default bean name pattern for identifying autowire candidates:
+       e.g. "*Service", "data*", "*Service*", "data*Service".
+       Also accepts a comma-separated list of patterns: e.g. "*Service,*Dao".
+       See the documentation for the 'autowire-candidate' attribute of the
+       'bean' element for the semantic details of autowire candidate beans.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="default-init-method" 
type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The default 'init-method' value; see the documentation for the
+       'init-method' attribute of the 'bean' element.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="default-destroy-method" 
type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The default 'destroy-method' value; see the documentation for the
+       'destroy-method' attribute of the 'bean' element.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:anyAttribute namespace="##other" 
processContents="lax"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="description">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Contains informative text describing the purpose of the enclosing 
element.
+       Used primarily for user documentation of XML bean definition documents.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType mixed="true">
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="import">
+               <xsd:annotation>
+                       <xsd:documentation 
source="java:org.springframework.core.io.Resource"><![CDATA[
+       Specifies an XML bean definition resource to import.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:restriction base="xsd:anyType">
+                                       <xsd:attribute name="resource" 
type="xsd:string" use="required">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The relative resource location of the XML (bean definition) file to 
import,
+       for example "myImport.xml" or "includes/myImport.xml" or 
"../myImport.xml".
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:restriction>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="alias">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Defines an alias for a bean (which can reside in a different definition
+       resource).
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:restriction base="xsd:anyType">
+                                       <xsd:attribute name="name" 
type="xsd:string" use="required">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the bean to define an alias for.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                                       <xsd:attribute name="alias" 
type="xsd:string" use="required">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The alias name to define for the bean.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:restriction>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:group name="beanElements">
+               <xsd:sequence>
+                       <xsd:element ref="description" minOccurs="0"/>
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                               <xsd:element ref="meta"/>
+                               <xsd:element ref="constructor-arg"/>
+                               <xsd:element ref="property"/>
+                               <xsd:element ref="qualifier"/>
+                               <xsd:element ref="lookup-method"/>
+                               <xsd:element ref="replaced-method"/>
+                               <xsd:any namespace="##other" 
processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:choice>
+               </xsd:sequence>
+       </xsd:group>
+
+       <xsd:attributeGroup name="beanAttributes">
+               <xsd:attribute name="name" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Can be used to create one or more aliases illegal in an (XML) id.
+       Multiple aliases can be separated by any number of spaces, commas,
+       or semi-colons (or indeed any mixture of the three).
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="class" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation 
source="java:java.lang.Class"><![CDATA[
+       The fully qualified name of the bean's class, except if it serves only
+       as a parent definition for child bean definitions.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="parent" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The name of the parent bean definition.
+
+       Will use the bean class of the parent if none is specified, but can
+       also override it. In the latter case, the child bean class must be
+       compatible with the parent, i.e. accept the parent's property values
+       and constructor argument values, if any.
+
+       A child bean definition will inherit constructor argument values,
+       property values and method overrides from the parent, with the option
+       to add new values. If init method, destroy method, factory bean and/or
+       factory method are specified, they will override the corresponding
+       parent settings.
+
+       The remaining settings will always be taken from the child definition:
+       depends on, autowire mode, scope, lazy init.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="scope" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The scope of this bean: typically "singleton" (one shared instance,
+       which will be returned by all calls to getBean with the given id), or
+       "prototype" (independent instance resulting from each call to getBean).
+
+       By default, a bean will be a singleton, unless the bean has a parent
+       bean definition in which case it will inherit the parent's scope.
+
+       Singletons are most commonly used, and are ideal for multi-threaded
+       service objects. Further scopes, such as "request" or "session", might
+       be supported by extended bean factories (e.g. in a web environment).
+
+       Inner bean definitions inherit the singleton status of their containing
+       bean definition, unless explicitly specified: The inner bean will be a
+       singleton if the containing bean is a singleton, and a prototype if
+       the containing bean has any other scope.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="abstract" type="xsd:boolean">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Is this bean "abstract", that is, not meant to be instantiated itself
+       but rather just serving as parent for concrete child bean definitions?
+       The default is "false". Specify "true" to tell the bean factory to not
+       try to instantiate that particular bean in any case.
+
+       Note: This attribute will not be inherited by child bean definitions.
+       Hence, it needs to be specified per abstract bean definition.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="lazy-init" default="default" 
type="defaultable-boolean">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Indicates whether or not this bean is to be lazily initialized.
+       If false, it will be instantiated on startup by bean factories
+       that perform eager initialization of singletons. The default is
+       "false".
+
+       Note: This attribute will not be inherited by child bean definitions.
+       Hence, it needs to be specified per concrete bean definition.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="autowire" default="default">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Controls whether bean properties are "autowired".
+       This is an automagical process in which bean references don't need
+       to be coded explicitly in the XML bean definition file, but rather the
+       Spring container works out dependencies.
+
+       There are 4 modes:
+
+       1. "no"
+       The traditional Spring default. No automagical wiring. Bean references
+       must be defined in the XML file via the <ref/> element (or "ref"
+       attribute). We recommend this in most cases as it makes documentation
+       more explicit.
+
+       Note that this default mode also allows for annotation-driven 
autowiring,
+       if activated. "no" refers to externally driven autowiring only, not
+       affecting any autowiring demands that the bean class itself expresses.
+
+       2. "byName"
+       Autowiring by property name. If a bean of class Cat exposes a "dog"
+       property, Spring will try to set this to the value of the bean "dog"
+       in the current container. If there is no matching bean by name, nothing
+       special happens.
+
+       3. "byType"
+       Autowiring if there is exactly one bean of the property type in the
+       container. If there is more than one, a fatal error is raised, and
+       you cannot use byType autowiring for that bean. If there is none,
+       nothing special happens.
+
+       4. "constructor"
+       Analogous to "byType" for constructor arguments. If there is not exactly
+       one bean of the constructor argument type in the bean factory, a fatal
+       error is raised.
+
+       Note that explicit dependencies, i.e. "property" and "constructor-arg"
+       elements, always override autowiring.
+
+       Note: This attribute will not be inherited by child bean definitions.
+       Hence, it needs to be specified per concrete bean definition.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+                       <xsd:simpleType>
+                               <xsd:restriction base="xsd:NMTOKEN">
+                                       <xsd:enumeration value="default"/>
+                                       <xsd:enumeration value="no"/>
+                                       <xsd:enumeration value="byName"/>
+                                       <xsd:enumeration value="byType"/>
+                                       <xsd:enumeration value="constructor"/>
+                               </xsd:restriction>
+                       </xsd:simpleType>
+               </xsd:attribute>
+               <xsd:attribute name="depends-on" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The names of the beans that this bean depends on being initialized.
+       The bean factory will guarantee that these beans get initialized
+       before this bean.
+
+       Note that dependencies are normally expressed through bean properties
+       or constructor arguments. This property should just be necessary for
+       other kinds of dependencies like statics (*ugh*) or database preparation
+       on startup.
+
+       Note: This attribute will not be inherited by child bean definitions.
+       Hence, it needs to be specified per concrete bean definition.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="autowire-candidate" default="default" 
type="defaultable-boolean">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Indicates whether or not this bean should be considered when looking
+       for matching candidates to satisfy another bean's autowiring 
requirements.
+       Note that this does not affect explicit references by name, which will 
get
+       resolved even if the specified bean is not marked as an autowire 
candidate.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="primary" type="xsd:boolean">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Specifies that this bean should be given preference when multiple
+       candidates are qualified to autowire a single-valued dependency.
+       If exactly one 'primary' bean exists among the candidates, it
+       will be the autowired value.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="init-method" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The name of the custom initialization method to invoke after setting
+       bean properties. The method must have no arguments, but may throw any
+       exception.
+
+       This is an alternative to implementing Spring's InitializingBean
+       interface or marking a method with the PostConstruct annotation.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="destroy-method" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The name of the custom destroy method to invoke on bean factory 
shutdown.
+       The method must have no arguments, but may throw any exception.
+
+       This is an alternative to implementing Spring's DisposableBean
+       interface or the standard Java Closeable/AutoCloseable interface,
+       or marking a method with the PreDestroy annotation.
+
+       Note: Only invoked on beans whose lifecycle is under the full
+       control of the factory - which is always the case for singletons,
+       but not guaranteed for any other scope.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="factory-method" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The name of a factory method to use to create this object. Use
+       constructor-arg elements to specify arguments to the factory method,
+       if it takes arguments. Autowiring does not apply to factory methods.
+
+       If the "class" attribute is present, the factory method will be a static
+       method on the class specified by the "class" attribute on this bean
+       definition. Often this will be the same class as that of the constructed
+       object - for example, when the factory method is used as an alternative
+       to a constructor. However, it may be on a different class. In that case,
+       the created object will *not* be of the class specified in the "class"
+       attribute. This is analogous to FactoryBean behavior.
+
+       If the "factory-bean" attribute is present, the "class" attribute is not
+       used, and the factory method will be an instance method on the object
+       returned from a getBean call with the specified bean name. The factory
+       bean may be defined as a singleton or a prototype.
+
+       The factory method can have any number of arguments. Autowiring is not
+       supported. Use indexed constructor-arg elements in conjunction with the
+       factory-method attribute.
+
+       Setter Injection can be used in conjunction with a factory method.
+       Method Injection cannot, as the factory method returns an instance,
+       which will be used when the container creates the bean.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="factory-bean" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Alternative to class attribute for factory-method usage.
+       If this is specified, no class attribute should be used.
+       This must be set to the name of a bean in the current or
+       ancestor factories that contains the relevant factory method.
+       This allows the factory itself to be configured using Dependency
+       Injection, and an instance (rather than static) method to be used.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:anyAttribute namespace="##other" processContents="lax"/>
+       </xsd:attributeGroup>
+
+       <xsd:element name="meta" type="metaType">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Arbitrary metadata attached to a bean definition.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+       </xsd:element>
+
+       <xsd:complexType name="metaType">
+               <xsd:attribute name="key" type="xsd:string" use="required">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The key name of the metadata attribute being defined.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="value" type="xsd:string" use="required">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The value of the metadata attribute being defined (as a simple String).
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+       </xsd:complexType>
+
+       <xsd:element name="bean">
+               <xsd:annotation>
+                       <xsd:documentation 
source="java:org.springframework.beans.factory.config.BeanDefinition"><![CDATA[
+       Defines a single (usually named) bean.
+
+       A bean definition may contain nested tags for constructor arguments,
+       property values, lookup methods, and replaced methods. Mixing 
constructor
+       injection and setter injection on the same bean is explicitly supported.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:extension base="identifiedType">
+                                       <xsd:group ref="beanElements"/>
+                                       <xsd:attributeGroup 
ref="beanAttributes"/>
+                               </xsd:extension>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="constructor-arg">
+               <xsd:annotation>
+                       <xsd:documentation 
source="java:org.springframework.beans.factory.config.ConstructorArgumentValues">
+                               <![CDATA[
+       Bean definitions can specify zero or more constructor arguments.
+       This is an alternative to "autowire constructor".
+       Arguments correspond to either a specific index of the constructor
+       argument list or are supposed to be matched generically by type.
+
+       Note: A single generic argument value will just be used once, rather
+       than potentially matched multiple times (as of Spring 1.1).
+
+       constructor-arg elements are also used in conjunction with the
+       factory-method element to construct beans using static or instance
+       factory methods.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="description" minOccurs="0"/>
+                               <xsd:choice minOccurs="0" maxOccurs="1">
+                                       <xsd:element ref="bean"/>
+                                       <xsd:element ref="ref"/>
+                                       <xsd:element ref="idref"/>
+                                       <xsd:element ref="value"/>
+                                       <xsd:element ref="null"/>
+                                       <xsd:element ref="array"/>
+                                       <xsd:element ref="list"/>
+                                       <xsd:element ref="set"/>
+                                       <xsd:element ref="map"/>
+                                       <xsd:element ref="props"/>
+                                       <xsd:any namespace="##other" 
processContents="strict"/>
+                               </xsd:choice>
+                       </xsd:sequence>
+                       <xsd:attribute name="index" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The exact index of the argument in the constructor argument list.
+       Only needed to avoid ambiguities, e.g. in case of 2 arguments of
+       the exact same type.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="type" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The exact type of the constructor argument. Only needed to avoid
+       ambiguities, e.g. in case of 2 single argument constructors
+       that can both be converted from a String.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="name" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The exact name of the argument in the constructor argument list.
+       Only needed to avoid ambiguities, e.g. in case of 2 arguments of
+       the exact same type. Note: This requires debug symbols to be
+       stored in the class file in order to introspect argument names!
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="ref" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       A short-cut alternative to a nested "<ref bean='...'/>" element.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="value" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       A short-cut alternative to a nested "<value>...<value/>" element.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="property" type="propertyType">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Bean definitions can have zero or more properties.
+       Property elements correspond to JavaBean setter methods exposed
+       by the bean classes. Spring supports primitives, references to other
+       beans in the same or related factories, lists, maps and properties.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+       </xsd:element>
+
+       <xsd:element name="qualifier">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Bean definitions can provide qualifiers to match against annotations
+       on a field or parameter for fine-grained autowire candidate resolution.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:element ref="attribute" minOccurs="0" 
maxOccurs="unbounded"/>
+                       </xsd:sequence>
+                       <xsd:attribute name="type" type="xsd:string" 
default="org.springframework.beans.factory.annotation.Qualifier"/>
+                       <xsd:attribute name="value" type="xsd:string"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="attribute" type="metaType">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       A qualifier element may contain attribute child elements as key-value
+       pairs. These will be available for matching against attributes of a
+       qualifier annotation on an autowired field or parameter if present.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+       </xsd:element>
+
+       <xsd:element name="lookup-method">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       A lookup method causes the IoC container to override the given method
+       and return the bean with the name given in the bean attribute. This is
+       a form of Method Injection. It is particularly useful as an alternative
+       to implementing the BeanFactoryAware interface, in order to be able to
+       make getBean() calls for non-singleton instances at runtime. In this
+       case, Method Injection is a less invasive alternative.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:restriction base="xsd:anyType">
+                                       <xsd:attribute name="name" 
type="xsd:string">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the lookup method. This method must take no arguments.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                                       <xsd:attribute name="bean" 
type="xsd:string">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the bean in the current or ancestor factories that
+       the lookup method should resolve to. Often this bean will be a
+       prototype, in which case the lookup method will return a distinct
+       instance on every invocation. This is useful for single-threaded 
objects.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:restriction>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="replaced-method">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Similar to the lookup method mechanism, the replaced-method element
+       is used to control IoC container method overriding: Method Injection.
+       This mechanism allows the overriding of a method with arbitrary code.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:sequence>
+                               <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                                       <xsd:element ref="arg-type"/>
+                               </xsd:choice>
+                       </xsd:sequence>
+                       <xsd:attribute name="name" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The name of the method whose implementation must be replaced by the
+       IoC container. If this method is not overloaded, there is no need
+       to use arg-type subelements. If this method is overloaded, arg-type
+       subelements must be used for all override definitions for the method.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+                       <xsd:attribute name="replacer" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation 
source="java:org.springframework.beans.factory.support.MethodReplacer"><![CDATA[
+       Bean name of an implementation of the MethodReplacer interface in the
+       current or ancestor factories. This may be a singleton or prototype
+       bean. If it is a prototype, a new instance will be used for each
+       method replacement. Singleton usage is the norm.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="arg-type">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Identifies an argument for a replaced method in the event of
+       method overloading.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType mixed="true">
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+                       <xsd:attribute name="match" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       Specification of the type of an overloaded method argument as a String.
+       For convenience, this may be a substring of the FQN. E.g. all the
+       following would match "java.lang.String":
+       - java.lang.String
+       - String
+       - Str
+
+       As the number of arguments will be checked also, this convenience
+       can often be used to save typing.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="ref">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Defines a reference to another bean in this factory or an external
+       factory (parent or included factory).
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:restriction base="xsd:anyType">
+                                       <xsd:attribute name="bean" 
type="xsd:string">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the referenced bean.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                                       <xsd:attribute name="local" 
type="xsd:string">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the referenced bean. The value must be a bean ID and will be
+       checked by the Spring container. This is therefore the preferred 
technique
+       for referencing beans within the same bean factory XML file.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                                       <xsd:attribute name="parent" 
type="xsd:string">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the referenced bean in a parent factory.
+                                               ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:restriction>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="idref">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       The id of another bean in this factory or an external factory
+       (parent or included factory).
+       While a regular 'value' element could instead be used for the
+       same effect, using idref indicates that the Spring container
+       should check that the value actually corresponds to a bean id.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:restriction base="xsd:anyType">
+                                       <xsd:attribute name="bean" 
type="xsd:string">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the referenced bean.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                                       <xsd:attribute name="local" 
type="xsd:string">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       The name of the referenced bean. The value must be a bean ID and will be
+       checked by the Spring container. This is therefore the preferred 
technique
+       for referencing beans within the same bean factory XML file.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:restriction>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="value">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Contains a string representation of a property value.
+       The property may be a string, or may be converted to the required
+       type using the JavaBeans PropertyEditor machinery. This makes it
+       possible for application developers to write custom PropertyEditor
+       implementations that can convert strings to arbitrary target objects.
+
+       Note that this is recommended for simple objects only. Configure
+       more complex objects by populating JavaBean properties with
+       references to other beans.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType mixed="true">
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+                       <xsd:attribute name="type" type="xsd:string">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The exact type that the value should be converted to. Only needed
+       if the type of the target property or constructor argument is
+       too generic: for example, in case of a collection element.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="null">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Denotes a Java null value. Necessary because an empty "value" tag
+       will resolve to an empty String, which will not be resolved to a
+       null value unless a special PropertyEditor does so.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType mixed="true">
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <!-- Collection Elements -->
+       <xsd:group name="collectionElements">
+               <xsd:sequence>
+                       <xsd:element ref="description" minOccurs="0"/>
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                               <xsd:element ref="bean"/>
+                               <xsd:element ref="ref"/>
+                               <xsd:element ref="idref"/>
+                               <xsd:element ref="value"/>
+                               <xsd:element ref="null"/>
+                               <xsd:element ref="array"/>
+                               <xsd:element ref="list"/>
+                               <xsd:element ref="set"/>
+                               <xsd:element ref="map"/>
+                               <xsd:element ref="props"/>
+                               <xsd:any namespace="##other" 
processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+                       </xsd:choice>
+               </xsd:sequence>
+       </xsd:group>
+
+       <xsd:element name="array">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       An array can contain multiple inner bean, ref, collection, or value 
elements.
+       This configuration element will always result in an array, even when 
being
+       defined e.g. as a value for a map with value type Object.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:extension base="listOrSetType">
+                                       <xsd:attribute name="merge" 
default="default" type="defaultable-boolean">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       Enables/disables merging for collections when using parent/child beans.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:extension>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="list">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       A list can contain multiple inner bean, ref, collection, or value 
elements.
+       A list can also map to an array type; the necessary conversion is 
performed
+       automatically.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:extension base="listOrSetType">
+                                       <xsd:attribute name="merge" 
default="default" type="defaultable-boolean">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       Enables/disables merging for collections when using parent/child beans.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:extension>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="set">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       A set can contain multiple inner bean, ref, collection, or value 
elements.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:extension base="listOrSetType">
+                                       <xsd:attribute name="merge" 
default="default" type="defaultable-boolean">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       Enables/disables merging for collections when using parent/child beans.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:extension>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="map">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       A mapping from a key to an object. Maps may be empty.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:extension base="mapType">
+                                       <xsd:attribute name="merge" 
default="default" type="defaultable-boolean">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       Enables/disables merging for collections when using parent/child beans.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:extension>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="entry" type="entryType">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       A map entry can be an inner bean, ref, value, or collection.
+       The key of the entry is given by the "key" attribute or child element.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+       </xsd:element>
+
+       <xsd:element name="props">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       Props elements differ from map elements in that values must be strings.
+       Props may be empty.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:complexContent>
+                               <xsd:extension base="propsType">
+                                       <xsd:attribute name="merge" 
default="default" type="defaultable-boolean">
+                                               <xsd:annotation>
+                                                       
<xsd:documentation><![CDATA[
+       Enables/disables merging for collections when using parent/child beans.
+                                                       ]]></xsd:documentation>
+                                               </xsd:annotation>
+                                       </xsd:attribute>
+                               </xsd:extension>
+                       </xsd:complexContent>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="key">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       A key element can contain an inner bean, ref, value, or collection.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType>
+                       <xsd:group ref="collectionElements"/>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:element name="prop">
+               <xsd:annotation>
+                       <xsd:documentation><![CDATA[
+       The string value of the property. Note that whitespace is trimmed
+       off to avoid unwanted whitespace caused by typical XML formatting.
+                       ]]></xsd:documentation>
+               </xsd:annotation>
+               <xsd:complexType mixed="true">
+                       <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+                       <xsd:attribute name="key" type="xsd:string" 
use="required">
+                               <xsd:annotation>
+                                       <xsd:documentation><![CDATA[
+       The key of the property entry.
+                                       ]]></xsd:documentation>
+                               </xsd:annotation>
+                       </xsd:attribute>
+               </xsd:complexType>
+       </xsd:element>
+
+       <xsd:complexType name="propertyType">
+               <xsd:sequence>
+                       <xsd:element ref="description" minOccurs="0"/>
+                       <xsd:choice minOccurs="0" maxOccurs="1">
+                               <xsd:element ref="meta"/>
+                               <xsd:element ref="bean"/>
+                               <xsd:element ref="ref"/>
+                               <xsd:element ref="idref"/>
+                               <xsd:element ref="value"/>
+                               <xsd:element ref="null"/>
+                               <xsd:element ref="array"/>
+                               <xsd:element ref="list"/>
+                               <xsd:element ref="set"/>
+                               <xsd:element ref="map"/>
+                               <xsd:element ref="props"/>
+                               <xsd:any namespace="##other" 
processContents="strict"/>
+                       </xsd:choice>
+               </xsd:sequence>
+               <xsd:attribute name="name" type="xsd:string" use="required">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       The name of the property, following JavaBean naming conventions.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="ref" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       A short-cut alternative to a nested "<ref bean='...'/>".
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="value" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       A short-cut alternative to a nested "<value>...</value>" element.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+       </xsd:complexType>
+
+       <!-- Collection Types -->
+
+       <!-- base type for collections that have (possibly) typed nested values 
-->
+       <xsd:complexType name="collectionType">
+               <xsd:attribute name="value-type" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation 
source="java:java.lang.Class"><![CDATA[
+       The default Java type for nested values. Must be a fully qualified
+       class name.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+       </xsd:complexType>
+
+       <!-- 'list' and 'set' collection type -->
+       <xsd:complexType name="listOrSetType">
+               <xsd:complexContent>
+                       <xsd:extension base="collectionType">
+                               <xsd:group ref="collectionElements"/>
+                       </xsd:extension>
+               </xsd:complexContent>
+       </xsd:complexType>
+
+       <!-- 'map' element type -->
+       <xsd:complexType name="mapType">
+               <xsd:complexContent>
+                       <xsd:extension base="collectionType">
+                               <xsd:sequence>
+                                       <xsd:element ref="description" 
minOccurs="0"/>
+                                       <xsd:choice minOccurs="0" 
maxOccurs="unbounded">
+                                               <xsd:element ref="entry"/>
+                                       </xsd:choice>
+                               </xsd:sequence>
+                               <xsd:attribute name="key-type" 
type="xsd:string">
+                                       <xsd:annotation>
+                                               <xsd:documentation 
source="java:java.lang.Class"><![CDATA[
+       The default Java type for nested entry keys. Must be a fully qualified
+       class name.
+                                               ]]></xsd:documentation>
+                                       </xsd:annotation>
+                               </xsd:attribute>
+                       </xsd:extension>
+               </xsd:complexContent>
+       </xsd:complexType>
+
+       <!-- 'entry' element type -->
+       <xsd:complexType name="entryType">
+               <xsd:sequence>
+                       <xsd:element ref="key" minOccurs="0"/>
+                       <xsd:group ref="collectionElements"/>
+               </xsd:sequence>
+               <xsd:attribute name="key" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       Each map element must specify its key as attribute or as child element.
+       A key attribute is always a String value.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="key-ref" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       A short-cut alternative to a to a "key" element with a nested
+       "<ref bean='...'/>".
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="value" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       A short-cut alternative to a nested "<value>...</value>"
+       element.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="value-ref" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       A short-cut alternative to a nested "<ref bean='...'/>".
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+               <xsd:attribute name="value-type" type="xsd:string">
+                       <xsd:annotation>
+                               <xsd:documentation><![CDATA[
+       A short-cut alternative to a 'type' attribute on a nested
+       "<value type='...' >...</value>" element.
+                               ]]></xsd:documentation>
+                       </xsd:annotation>
+               </xsd:attribute>
+       </xsd:complexType>
+
+       <!-- 'props' collection type -->
+       <xsd:complexType name="propsType">
+               <xsd:complexContent>
+                       <xsd:extension base="collectionType">
+                               <xsd:sequence>
+                                       <xsd:choice minOccurs="0" 
maxOccurs="unbounded">
+                                               <xsd:element ref="prop"/>
+                                       </xsd:choice>
+                               </xsd:sequence>
+                       </xsd:extension>
+               </xsd:complexContent>
+       </xsd:complexType>
+
+       <!-- simple internal types -->
+       <xsd:simpleType name="defaultable-boolean">
+               <xsd:restriction base="xsd:NMTOKEN">
+                       <xsd:enumeration value="default"/>
+                       <xsd:enumeration value="true"/>
+                       <xsd:enumeration value="false"/>
+               </xsd:restriction>
+       </xsd:simpleType>
+
+</xsd:schema>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to