Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Code Block
xml
xml
<schema<?xml xmlnsversion="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://xfire.codehaus.org/aegis/1.0"
  xmlns:tns="http://xfire.codehaus.org/aegis/1.0"
  elementFormDefault="unqualified" 
  attributeFormDefault="unqualified" >

<!-- mapping is the top-level element of the .aegis.xml file.
     Namespace prefixes declared in this element can be used
     in the rest of the file to assign namespaces. The prefixes
     are not retained. -->
  <element name="mappings">
    <complexType>
      <sequence>
        <!-- There can be a mapping element for each supported encoding style. -->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:xsd="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="unqualified" attributeFormDefault="unqualified"
>
<!-- top level element: mappings -->
  <xsd:element name="mappings">
    <xsd:complexType>
      <xsd:sequence>
        <element<xsd:element name="mapping" type="mappingType" minOccurs="0" maxOccurs="unbounded" type="tns:mappingType" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

<!-- theeach mapping element is one of these. -->
  <complexType<xsd:complexType name="mappingType">
    <sequence>
      <element<xsd:choice minOccurs="0" maxOccurs="unbounded" ref="tns:property" >
    <!-- a property from a bean, or -->
      <xsd:element name="property" type="propertyType" />
    </sequence>
<!-- thea urimethod for thea encodingservice, style.or -->
      <attribute<xsd:element name="urimethod" type="stringmethodType" />
    <!-- the mapped name of the type an extra type for use with an untyped collection -->
      <attribute<xsd:element name="namecomponent" type="stringcomponentTypeType" />
    </complexType>

xsd:choice>
    <!-- if you onespecify propertya elementuri, forit eachbinds property.
the type to a specific service by See 'mappedType' for the attributes. 
  namespace. This could be the soap 1.1 namespace. -->
  <element  <xsd:attribute name="property""uri" type="xsd:string" />
    <complexType>
      <attributeGroup ref="tns:mappedType"/<!-- name of the type -->
    <xsd:attribute  <anyAttribute namespace='##other' processContents='lax'name="name" type="xsd:string" />
    </xsd:complexType>
  </element>
  
  <!-- a property. controlsee the return typeattributes. -->
  <element<xsd:complexType name="return-typepropertyType">
    <complexType>
      <attributeGroup <xsd:attributeGroup ref="tns:mappedType" />
      <anyAttribute<xsd:anyAttribute namespace='##other' processContents='lax' />
    </complexType>
  </element>
  xsd:complexType>

  <!-- specify processing of a method parameter. ThisOne isname, alsoplus used
parameters for disambiguation (and type binding), plus toa disambiguatereturn-type overloadedif methodsany. -->
  <element name="parameter<xsd:complexType name="methodType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
    <complexType>  <xsd:element name="return-type" type="return-typeType" />
      <attribute<xsd:element name="indexparameter" type="intparameterType" />
    </xsd:choice>
  <attribute  <xsd:attribute name="classname" type="xsd:string" />
  </xsd:complexType>

  <xsd:complexType name="return-typeType">
    <attributeGroup<xsd:attributeGroup ref="tns:mappedType" />
      <anyAttribute<xsd:anyAttribute namespace='##other' processContents='lax' />
    </complexType>
  </element>xsd:complexType>

  <attributeGroup<xsd:complexType name="mappedTypeparameterType">
    <!-- the name of the Java element --<xsd:attribute name="index" type="xsd:int" />
    <attribute<xsd:attribute name="nameclass" type="xsd:string" />
    <!-- the schema type --<xsd:attributeGroup ref="mappedType" />
    <attribute<xsd:anyAttribute name="type" type="string"namespace='##other' processContents='lax' />
    <!-- the name of the type element --</xsd:complexType>

  <xsd:complexType name="componentTypeType">
    <attribute<xsd:attribute name="typeNameclass" type="xsd:string" />
    <xsd:attributeGroup ref="mappedType" />
    <xsd:anyAttribute  <!-- the name to map to --namespace='##other' processContents='lax' />
  </xsd:complexType>

  <xsd:attributeGroup name="mappedType">
    <attribute<xsd:attribute name="mappedNamename" type="xsd:string" />
    <!-- nillable -- <xsd:attribute name="type" type="xsd:string" />
    <attribute<xsd:attribute name="nillabletypeName" type="booleanxsd:string" />
    <!-- whether to ignore this item --<xsd:attribute name="mappedName" type="xsd:string" />
    <attribute<xsd:attribute name="ignorenillable" type="xsd:boolean" />
    <!-- when using non-generic collections, what is the element type --<xsd:attribute name="flag" type="xsd:boolean" />
    <xsd:attribute name="ignore" type="xsd:boolean" />
    <attribute<xsd:attribute name="componentType" type="xsd:string" />
    <!-- for non-generic maps -->
    <attribute <xsd:attribute name="keyType" type="xsd:string" />
    <!-- Standard XSD minOccurs --<xsd:attribute name="valueType" type="xsd:string" />
    <attribute<xsd:attribute name="minOccurs" type="xsd:int" />
    <!-- whether to surround arrays with an element -->
    <attribute <xsd:attribute name="flatmaxOccurs" type="booleanxsd:string" />
    <!-- 'element or attribute' -->
    <attribute <xsd:attribute name="style">
      <simpleType><xsd:simpleType>
        <restriction<xsd:restriction base="xsd:string">
          <enumeration<xsd:enumeration value="attribute" />
          <enumeration<xsd:enumeration value="element" />
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <anyAttribute<xsd:anyAttribute namespace='##other' processContents='lax' />
  </xsd:attributeGroup> 

</xsd:schema>