You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by st...@apache.org on 2002/11/15 23:47:12 UTC

cvs commit: xml-axis/java/wsdd WSDD.xsd

stevel      2002/11/15 14:47:12

  Modified:    java/wsdd WSDD.xsd
  Log:
  I feel bad about the amount of diff that xml spy has applied, but here is an XSD that validates much more, apart from the wsdd that has a property without a name. I had to downgrade property value to string from CDATA, because CDATA never made it into the final XSD spec.
  
  Revision  Changes    Path
  1.9       +149 -87   xml-axis/java/wsdd/WSDD.xsd
  
  Index: WSDD.xsd
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/wsdd/WSDD.xsd,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- WSDD.xsd	29 Oct 2002 16:22:31 -0000	1.8
  +++ WSDD.xsd	15 Nov 2002 22:47:12 -0000	1.9
  @@ -1,8 +1,11 @@
  -<?xml version="1.0" encoding="UTF-8" ?>
  +<?xml version="1.0" encoding="UTF-8"?>
   <!--// 
               Web Services Deployment Descriptor (WSDD) Version 1.1 (Proposal)
   //-->
  -<xsd:schema targetNamespace="http://xml.apache.org/axis/wsdd/" xmlns:wsdd="http://xml.apache.org/axis/wsdd/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1">
  +<xsd:schema targetNamespace="http://xml.apache.org/axis/wsdd/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdd="http://xml.apache.org/axis/wsdd/" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1">
  +    <!-- ==================================================================== -->
  +    <!-- DeployableItem-->
  +    <!-- ==================================================================== -->
       <xsd:complexType name="DeployableItem">
           <xsd:annotation>
               <xsd:documentation>A DeployableItem is any individual component which may be deployed into the Axis runtime 
  @@ -15,12 +18,15 @@
   </xsd:documentation>
           </xsd:annotation>
           <xsd:sequence>
  -            <xsd:element ref="wsdd:documentation" minOccurs="0" />
  -            <xsd:element ref="wsdd:parameter" minOccurs="0" maxOccurs="unbounded" />
  +            <xsd:element ref="wsdd:documentation" minOccurs="0"/>
  +            <xsd:element ref="wsdd:parameter" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
  -        <xsd:attribute name="name" type="xsd:NCName" use="optional" />
  -        <xsd:attribute name="type" type="xsd:QName" use="optional" />
  +        <xsd:attribute name="name" type="xsd:NCName" use="optional"/>
  +        <xsd:attribute name="type" type="xsd:QName" use="optional"/>
       </xsd:complexType>
  +    <!-- ==================================================================== -->
  +    <!--Flow -->
  +    <!-- ==================================================================== -->
       <xsd:complexType name="Flow">
           <xsd:annotation>
               <xsd:documentation>A Flow defines the sequential invocation of handlers and handler chains for a particular service.  
  @@ -36,35 +42,41 @@
               <xsd:extension base="wsdd:DeployableItem">
                   <xsd:sequence>
                       <xsd:choice minOccurs="0" maxOccurs="unbounded">
  -                        <xsd:element ref="wsdd:chain" />
  -                        <xsd:element ref="wsdd:handler" />
  +                        <xsd:element ref="wsdd:chain"/>
  +                        <xsd:element ref="wsdd:handler"/>
                       </xsd:choice>
  -                    <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                    <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
                   </xsd:sequence>
  -                <xsd:anyAttribute namespace="##other" />
  +                <xsd:anyAttribute namespace="##other"/>
               </xsd:extension>
           </xsd:complexContent>
       </xsd:complexType>
  +    <!-- ==================================================================== -->
  +    <!-- parameter-->
  +    <!-- ==================================================================== -->
       <xsd:element name="parameter">
           <xsd:annotation>
  -            <xsd:documentation>Parameters are name/value pairs that are used as configuration data for the handler or other 
  -WSDD element during deployment and initialization.
  -
  -the "locked" attribute indicates whether or not the value of the parameter may be modified after configuration.  
  -If locked=true, the value cannot be changed after deployment.  If locked=false, the value may be changed at 
  -any time.
  +            <xsd:documentation>Parameters are name/value pairs that are used as 
  +            configuration data for the handler or other WSDD element during 
  +            deployment and initialization. The "locked" attribute indicates whether
  +            or not the value of the parameter may be modified after configuration.  
  +            If locked=true, the value cannot be changed after deployment.  If locked=false,
  +            the value may be changed at any time.
   </xsd:documentation>
           </xsd:annotation>
           <xsd:complexType mixed="true">
               <xsd:sequence>
  -                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
  +                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
  -            <xsd:attribute name="name" type="xsd:NCName" use="required" />
  -            <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="false" />
  -            <xsd:attribute name="value" type="xsd:CDATA" use="optional" />
  -            <xsd:anyAttribute namespace="##other" />
  +            <xsd:attribute name="name" type="xsd:NCName" use="required"/>
  +            <xsd:attribute name="locked" type="xsd:boolean" use="optional" default="false"/>
  +            <xsd:attribute name="value" type="xsd:string" use="optional"/>
  +            <xsd:anyAttribute namespace="##other"/>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- documentation-->
  +    <!-- ==================================================================== -->
       <xsd:element name="documentation">
           <xsd:annotation>
               <xsd:documentation>Documentation is whitespace as far as the handler generator at WSDD deploy time 
  @@ -74,44 +86,53 @@
           </xsd:annotation>
           <xsd:complexType mixed="true">
               <xsd:choice minOccurs="0" maxOccurs="unbounded">
  -                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
  +                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:choice>
  -            <xsd:anyAttribute namespace="##other" />
  +            <xsd:anyAttribute namespace="##other"/>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- service-->
  +    <!-- ==================================================================== -->
       <xsd:element name="service">
           <xsd:annotation>
  -            <xsd:documentation>The service Element is a DeployableItem that describes the deployment of a Web Service.
  -
  -A service is structured as a Targeted Chain represented with a Request Flow, a Provider and a Response Flow.
  -
  -A service may define an optional collection of Fault Flow's and typeMappings.
  -
  -The optional description attribute provides a means to directly relate the deployed Service with an external 
  -Service Description mechanism (such as WSDL).
  +            <xsd:documentation>The service Element is a DeployableItem that 
  +            describes the deployment of a Web Service. A service is structured 
  +            as a Targeted Chain represented with a Request Flow, a Provider and 
  +            a Response Flow. A service may define an optional collection of Fault Flow's 
  +            and typeMappings. The optional description attribute provides a means
  +            to directly relate the deployed Service with an external Service Description 
  +            mechanism (such as WSDL).
   </xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
               <xsd:complexContent>
                   <xsd:extension base="wsdd:DeployableItem">
                       <xsd:sequence>
  -                        <xsd:element ref="wsdd:typeMapping" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:element ref="wsdd:beanMapping" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:element ref="wsdd:requestFlow" minOccurs="0" />
  -                        <xsd:element ref="wsdd:provider" />
  -                        <xsd:element ref="wsdd:responseFlow" minOccurs="0" />
  -                        <xsd:element ref="wsdd:faultFlow" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                        <xsd:element ref="wsdd:typeMapping" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:beanMapping" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:requestFlow" minOccurs="0"/>
  +                        <xsd:element ref="wsdd:provider" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:responseFlow" minOccurs="0"/>
  +                        <xsd:element ref="wsdd:operation" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:faultFlow" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:parameter" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:namespace" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:typeMapping" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
  -                    <xsd:attribute name="description" type="xsd:uriReference" use="optional" />
  +                    <xsd:attribute name="description" type="xsd:string" use="optional"/>
                       <xsd:attribute name="provider" type="xsd:QName" use="optional"/>
                       <xsd:attribute name="style" type="xsd:string" use="optional"/>
                       <xsd:attribute name="use" type="xsd:string" use="optional"/>
  -                    <xsd:anyAttribute namespace="##other" />
  +                    <xsd:anyAttribute namespace="##other"/>
                   </xsd:extension>
               </xsd:complexContent>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- handler-->
  +    <!-- ==================================================================== -->
       <xsd:element name="handler">
           <xsd:annotation>
               <xsd:documentation>The handler Element is a DeployableItem that describes the deployment of an individual
  @@ -122,13 +143,16 @@
               <xsd:complexContent>
                   <xsd:extension base="wsdd:DeployableItem">
                       <xsd:sequence>
  -                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
  -                    <xsd:anyAttribute namespace="##other" />
  +                    <xsd:anyAttribute namespace="##other"/>
                   </xsd:extension>
               </xsd:complexContent>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- chain-->
  +    <!-- ==================================================================== -->
       <xsd:element name="chain">
           <xsd:annotation>
               <xsd:documentation>The chain Element is a DeployableItem that describes a collection of handlers invoked sequentially 
  @@ -139,20 +163,26 @@
               <xsd:complexContent>
                   <xsd:extension base="wsdd:DeployableItem">
                       <xsd:sequence>
  -                        <xsd:element ref="wsdd:handler" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                        <xsd:element ref="wsdd:handler" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
  -                    <xsd:anyAttribute namespace="##other" />
  +                    <xsd:anyAttribute namespace="##other"/>
                   </xsd:extension>
               </xsd:complexContent>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- requestFlow -->
  +    <!-- ==================================================================== -->
       <xsd:element name="requestFlow" type="wsdd:Flow">
           <xsd:annotation>
               <xsd:documentation>The requestFlow Element is a DeployableItem that describes the inbound flow of a Message
   to the Service Provider.</xsd:documentation>
           </xsd:annotation>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- responseFlow -->
  +    <!-- ==================================================================== -->
       <xsd:element name="responseFlow" type="wsdd:Flow">
           <xsd:annotation>
               <xsd:documentation>The responseFlow Element is a DeployableItem that describes the outward flow of a Message
  @@ -164,6 +194,9 @@
               <xsd:documentation>The faultFlow Element is a DeployableItem that describes a fault-processing flow.</xsd:documentation>
           </xsd:annotation>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- beanMapping-->
  +    <!-- ==================================================================== -->
       <xsd:element name="beanMapping">
           <xsd:annotation>
               <xsd:documentation>
  @@ -174,14 +207,17 @@
           </xsd:annotation>
           <xsd:complexType>
               <xsd:sequence>
  -                <xsd:element ref="wsdd:documentation" minOccurs="0" />
  -                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
  +                <xsd:element ref="wsdd:documentation" minOccurs="0"/>
  +                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
  -            <xsd:attribute name="encodingStyle" type="xsd:uriReference" use="optional" />
  -            <xsd:attribute name="qName" type="xsd:QName" use="optional" />
  -            <xsd:attribute name="languageSpecificType" type="xsd:QName" use="optional" />
  +            <xsd:attribute name="encodingStyle" type="xsd:string" use="optional"/>
  +            <xsd:attribute name="qName" type="xsd:QName" use="optional"/>
  +            <xsd:attribute name="languageSpecificType" type="xsd:QName" use="optional"/>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- typeMapping -->
  +    <!-- ==================================================================== -->
       <xsd:element name="typeMapping">
           <xsd:annotation>
               <xsd:documentation>
  @@ -192,17 +228,20 @@
           </xsd:annotation>
           <xsd:complexType>
               <xsd:sequence>
  -                <xsd:element ref="wsdd:documentation" minOccurs="0" />
  -                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
  +                <xsd:element ref="wsdd:documentation" minOccurs="0"/>
  +                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
  -            <xsd:attribute name="encodingStyle" type="xsd:uriReference" use="optional" />
  -            <xsd:attribute name="qName" type="xsd:QName" use="optional" />
  -            <xsd:attribute name="languageSpecificType" type="xsd:QName" use="optional" />
  -            <xsd:attribute name="serializer" type="xsd:QName" use="optional" />
  -            <xsd:attribute name="deserializer" type="xsd:QName" use="optional" />
  +            <xsd:attribute name="encodingStyle" type="xsd:string" use="optional"/>
  +            <xsd:attribute name="qname" type="xsd:QName" use="optional"/>
  +            <xsd:attribute name="languageSpecificType" type="xsd:QName" use="optional"/>
  +            <xsd:attribute name="serializer" type="xsd:QName" use="optional"/>
  +            <xsd:attribute name="deserializer" type="xsd:QName" use="optional"/>
               <xsd:attribute name="type" type="xsd:QName"/>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- provider -->
  +    <!-- ==================================================================== -->
       <xsd:element name="provider">
           <xsd:annotation>
               <xsd:documentation>The provider Element is a DeployableItem that describes the Axis Service Provider</xsd:documentation>
  @@ -211,14 +250,17 @@
               <xsd:complexContent>
                   <xsd:extension base="wsdd:DeployableItem">
                       <xsd:sequence>
  -                        <xsd:element ref="wsdd:operation" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                        <xsd:element ref="wsdd:operation" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
  -                    <xsd:anyAttribute namespace="##other" />
  +                    <xsd:anyAttribute namespace="##other"/>
                   </xsd:extension>
               </xsd:complexContent>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- operation -->
  +    <!-- ==================================================================== -->
       <xsd:element name="operation">
           <xsd:annotation>
               <xsd:documentation>Defines an operation exposed by the Service Provider
  @@ -228,11 +270,19 @@
   </xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
  -            <xsd:attribute name="name" type="xsd:NMTOKEN" use="required" />
  -            <xsd:attribute name="returnQName" type="xsd:QName" use="optional" />
  -            <xsd:attribute name="returnType" type="xsd:QName" use="optional" />
  +            <xsd:sequence>
  +                <xsd:element ref="wsdd:parameter" minOccurs="0" maxOccurs="unbounded"/>
  +                <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
  +            </xsd:sequence>
  +            <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
  +            <xsd:attribute name="returnQName" type="xsd:QName" use="optional"/>
  +            <xsd:attribute name="returnType" type="xsd:QName" use="optional"/>
  +            <xsd:attribute name="qname" type="xsd:QName"/>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- transport -->
  +    <!-- ==================================================================== -->
       <xsd:element name="transport">
           <xsd:annotation>
               <xsd:documentation>The transport Element is a DeployableItem that describes the request, response, and
  @@ -243,17 +293,19 @@
               <xsd:complexContent>
                   <xsd:extension base="wsdd:DeployableItem">
                       <xsd:sequence>
  -                        <xsd:element ref="wsdd:requestFlow" minOccurs="0" />
  -                        <xsd:element ref="wsdd:responseFlow" minOccurs="0" />
  -                        <xsd:element ref="wsdd:faultFlow" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                        <xsd:element ref="wsdd:requestFlow" minOccurs="0"/>
  +                        <xsd:element ref="wsdd:responseFlow" minOccurs="0"/>
  +                        <xsd:element ref="wsdd:faultFlow" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
  -                    <xsd:attribute name="type" type="xsd:QName" use="prohibited" />
  -                    <xsd:anyAttribute namespace="##other" />
  +                    <xsd:anyAttribute namespace="##other"/>
                   </xsd:extension>
               </xsd:complexContent>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- globalConfiguration -->
  +    <!-- ==================================================================== -->
       <xsd:element name="globalConfiguration">
           <xsd:annotation>
               <xsd:documentation>The globalConfiguration Element is a DeployableItem that describes the global configuration
  @@ -268,38 +320,48 @@
               <xsd:complexContent>
                   <xsd:extension base="wsdd:DeployableItem">
                       <xsd:sequence>
  -                        <xsd:element ref="wsdd:transport" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:element ref="wsdd:requestFlow" minOccurs="0" />
  -                        <xsd:element ref="wsdd:provider" />
  -                        <xsd:element ref="wsdd:responseFlow" minOccurs="0" />
  -                        <xsd:element ref="wsdd:faultFlow" minOccurs="0" maxOccurs="unbounded" />
  -                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                        <xsd:element ref="wsdd:transport" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:element ref="wsdd:requestFlow" minOccurs="0"/>
  +                        <xsd:element ref="wsdd:provider" minOccurs="0"/>
  +                        <xsd:element ref="wsdd:responseFlow" minOccurs="0"/>
  +                        <xsd:element ref="wsdd:faultFlow" minOccurs="0" maxOccurs="unbounded"/>
  +                        <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
                       </xsd:sequence>
  -                    <xsd:attribute name="type" type="xsd:QName" use="prohibited" />
                   </xsd:extension>
               </xsd:complexContent>
           </xsd:complexType>
       </xsd:element>
  +    <!-- ==================================================================== -->
  +    <!-- deployment -->
  +    <!-- ==================================================================== -->
       <xsd:element name="deployment">
           <xsd:annotation>
               <xsd:documentation>This is the root element for WSDD.</xsd:documentation>
           </xsd:annotation>
           <xsd:complexType>
               <xsd:sequence>
  -                <xsd:element ref="wsdd:documentation" minOccurs="0" />
  -                <xsd:element ref="wsdd:globalConfiguration" minOccurs="0" />
  +                <xsd:element ref="wsdd:documentation" minOccurs="0"/>
  +                <xsd:element ref="wsdd:globalConfiguration" minOccurs="0"/>
                   <xsd:choice minOccurs="0" maxOccurs="unbounded">
  -                    <xsd:element ref="wsdd:typeMapping" minOccurs="0" maxOccurs="unbounded" />
  -                    <xsd:element ref="wsdd:beanMapping" minOccurs="0" maxOccurs="unbounded" />
  -                    <xsd:element ref="wsdd:chain" minOccurs="0" maxOccurs="unbounded" />
  -                    <xsd:element ref="wsdd:handler" minOccurs="0" maxOccurs="unbounded" />
  -                    <xsd:element ref="wsdd:transport" minOccurs="0" maxOccurs="unbounded" />
  -                    <xsd:element ref="wsdd:service" minOccurs="0" maxOccurs="unbounded" />
  +                    <xsd:element ref="wsdd:typeMapping" minOccurs="0" maxOccurs="unbounded"/>
  +                    <xsd:element ref="wsdd:beanMapping" minOccurs="0" maxOccurs="unbounded"/>
  +                    <xsd:element ref="wsdd:chain" minOccurs="0" maxOccurs="unbounded"/>
  +                    <xsd:element ref="wsdd:handler" minOccurs="0" maxOccurs="unbounded"/>
  +                    <xsd:element ref="wsdd:transport" minOccurs="0" maxOccurs="unbounded"/>
  +                    <xsd:element ref="wsdd:service" minOccurs="0" maxOccurs="unbounded"/>
                   </xsd:choice>
  -                <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
  +                <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
               </xsd:sequence>
  -            <xsd:attribute name="name" type="xsd:NCName" use="optional" />
  -            <xsd:anyAttribute namespace="##other" />
  +            <xsd:attribute name="name" type="xsd:NCName" use="optional"/>
  +            <xsd:anyAttribute namespace="##other"/>
           </xsd:complexType>
  +    </xsd:element>
  +   <!-- ==================================================================== -->
  +    <!-- namespace-->
  +    <!-- ==================================================================== -->
  +    <xsd:element name="namespace" type="xsd:anyURI">
  +        <xsd:annotation>
  +            <xsd:documentation>a namespace of a service</xsd:documentation>
  +        </xsd:annotation>
       </xsd:element>
   </xsd:schema>