Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Code Block
xml
xml
<schema xmlns="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. -->
        <element name="mapping" minOccurs="0" maxOccurs="unbounded" type="tns:mappingType" />
      </sequence>
    </complexType>
  </element>

<!-- the mapping element. -->
  <complexType name="mappingType">
    <sequence>
      <element minOccurs="0" maxOccurs="unbounded" ref="tns:property" />
    </sequence>
<!-- the uri for the encoding style. -->
    <attribute name="uri" type="string"/>
<!-- the mapped name of the type -->
    <attribute name="name" type="string"/>
  </complexType>

  <!-- one property element for each property.
       See 'mappedType' for the attributes. 
  -->
  <element name="property">
    <complexType>
      <attributeGroup ref="tns:mappedType"/>
      <anyAttribute namespace='##other' processContents='lax'/>
    </complexType>
  </element>
  
  <!-- control the return type. -->
  <element name="return-type">
    <complexType>
      <attributeGroup ref="tns:mappedType"/>
      <anyAttribute namespace='##other' processContents='lax'/>
    </complexType>
  </element>
  
  <!-- specify processing of a method parameter. This is also used
       to disambiguate overloaded methods. -->
  <element name="parameter">
    <complexType>
      <attribute name="index" type="int"/>
      <attribute name="class" type="string"/>
      <attributeGroup ref="tns:mappedType"/>
      <anyAttribute namespace='##other' processContents='lax'/>
    </complexType>
  </element>

  <attributeGroup name="mappedType">
    <!-- the name of the Java element -->
    <attribute name="name" type="string" />
    <!-- the schema type -->
    <attribute name="type" type="string" />
    <!-- the name of the type element -->
    <attribute name="typeName" type="string" />
    <!-- the name to map to -->
    <attribute name="mappedName" type="string" />
    <!-- nillable -->
    <attribute name="nillable" type="boolean" />
    <!-- whether to ignore this item -->
    <attribute name="ignore" type="boolean" />
    <!-- when using non-generic collections, what is the element type -->
    <attribute name="componentType" type="string" />
    <!-- for non-generic maps -->
    <attribute name="keyType" type="string" />
    <!-- Standard XSD minOccurs -->
    <attribute name="minOccurs" type="int"/>
    <!-- whether to surround arrays with an element -->
    <attribute name="flat" type="boolean"/>
    <!-- 'element or attribute' -->
    <attribute name="style">
      <simpleType>
        <restriction base="string">
          <enumeration value="attribute"/>
          <enumeration value="element"/>
        </restriction>
      </simpleType>
    </attribute>
    <anyAttribute namespace='##other' processContents='lax'/>
  </attributeGroup> 

</schema>