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 elementis 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>
    <!-- one property element for each property.
       See 'mappedType' for the attributes. 
  if you specify a uri, it binds the type to a specific service by 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>
  
  <!-- control a property. see the return typeattributes. -->
  <element<xsd:complexType name="return-typepropertyType">
    <complexType>
      <attributeGroup<xsd:attributeGroup ref="tns:mappedType" />
    <xsd:anyAttribute  <anyAttribute namespace='##other' processContents='lax' />
    </xsd:complexType>
  </element>
  
  <!-- specify processing of a method parameter. ThisOne isname, alsoplus used
parameters for disambiguation (and type binding), plus toa disambiguatereturn-type overloadedif methodsany. -->
  <element<xsd:complexType name="methodType">
    <xsd:choice minOccurs="parameter"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  <attributeGroupname="return-typeType">
    <xsd:attributeGroup ref="tns:mappedType" />
      <anyAttribute<xsd:anyAttribute namespace='##other' processContents='lax' />
    </xsd:complexType>
  </element>

  <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' />
  </xsd:complexType>

  <!-- the name of the type element --<xsd:complexType name="componentTypeType">
    <attribute<xsd:attribute name="typeNameclass" type="xsd:string" />
    <!-- the name to map to -- <xsd:attributeGroup ref="mappedType" />
    <xsd:anyAttribute 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" />
    <!-- 'element or attribute' --<xsd:attribute name="maxOccurs" type="xsd:string" />
    <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>