Data Service Annotations Schema This page last changed on Nov 28, 2008. .stickable, h1, h2, h3, h4, h5 false true Show Sticky notes Hide Sticky notes Save Cancel Oracle Data Service Integrator Documentation > Data Services Developer's Guide # Data Service Annotations Schema
    <?xml version="1.0"?>
    <xs:schema targetNamespace="urn:annotations.ld.oracle.com" xmlns:tns="urn:annotations.ld.oracle.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
      <!--==================-->
      <!--  XDS annotation  -->
      <!--==================-->
      <xs:element name="xds">
        <xs:complexType>
          <xs:sequence>
            <!-- document properties -->
            <xs:element name="author" type="xs:string" minOccurs="0"/>
            <xs:element name="comment" type="xs:string" minOccurs="0"/>
            <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="documentation" type="xs:string" minOccurs="0"/>
            <xs:element name="version" type="xs:decimal" minOccurs="0"/>
            <!-- user defined properties -->
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="property">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute name="name" type="xs:string"/>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <!-- data access properties -->
            <xs:choice>
              <!-- choice 1: java functions -->
              <xs:element name="javaFunction">
                <xs:complexType>
                  <xs:attribute name="class" type="xs:string" use="required"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 2: web services -->
              <xs:element name="webService">
                <xs:complexType>
                  <xs:attribute name="wsdl" type="xs:anyURI" use="required"/>
                  <xs:attribute name="targetNamespace" type="xs:anyURI" use="required"/>
                  <xs:attribute name="sbProxyServiceName" type="xs:string"/>
                  <xs:attribute name="sbTransportProtocol" type="tns:SBTransportProtocolType"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 3: relational sources -->
              <xs:element name="relationalDB">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="properties" minOccurs="0">
                      <xs:complexType>
                        <xs:anyAttribute processContents="lax" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" use="required"/>
                  <xs:attribute name="providerId" type="xs:string" />
                  <xs:attribute name="dbType" type="xs:string"/>
                  <xs:attribute name="dbVersion" type="xs:string"/>
                  <xs:attribute name="driver" type="xs:string"/>
                  <xs:attribute name="uri" type="xs:string"/>
                  <xs:attribute name="username" type="xs:string"/>
                  <xs:attribute name="password" type="xs:string"/>
                  <xs:attribute name="SID" type="xs:string"/>
                  <xs:attribute name="sourceBindingProviderClassName" type="xs:string"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 4: delimited files -->
              <xs:element name="delimitedFile">
                <xs:complexType>
                  <xs:attribute name="file" type="xs:anyURI"/>
                  <xs:attribute name="schema" type="xs:anyURI"/>
                  <xs:attribute name="inferredSchema" type="xs:boolean" default="false"/>
                  <xs:attribute name="delimiter" type="xs:string"/>
                  <xs:attribute name="fixedLength" type="xs:positiveInteger"/>
                  <xs:attribute name="hasHeader" type="xs:boolean" default="false"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 5: XML files -->
              <xs:element name="xmlFile">
                <xs:complexType>
                  <xs:attribute name="file" type="xs:anyURI"/>
                  <xs:attribute name="schema" type="xs:anyURI" use="required"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 6: user defined view -->
              <xs:element name="userDefinedView" minOccurs="0"/>
              <!-- choice 7: nothing, defaults to userDefinedView -->
              <xs:sequence/>
            </xs:choice>
            <!-- field annotations -->
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="field">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="extension" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence minOccurs="0">
                          <xs:element name="autoNumber">
                            <xs:complexType>
                              <xs:attribute name="type" type="tns:autoNumberType" use="required"/>
                              <xs:attribute name="sequenceObjectName" type="xs:string"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="nativeXpath" type="xs:string"/>
                        <xs:attribute name="nativeType" type="xs:string"/>
                        <xs:attribute name="nativeTypeCode" type="xs:int"/>
                        <xs:attribute name="nativeSize" type="xs:int"/>
                        <xs:attribute name="nativeFractionalDigits" type="tns:scaleType"/>
                        <xs:attribute name="nativeKey" type="xs:boolean" default="false"/>
                        <!-- relational: autoNumber -->
                        <!-- relational: native column names and types -->
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="properties">
                      <xs:complexType>
                        <xs:attribute name="immutable" type="xs:boolean" default="false"/>
                        <xs:attribute name="nullable" type="xs:boolean" default="false"/>
                        <xs:attribute name="transient" type="xs:boolean" default="false"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="xpath" type="xs:string" use="required"/>
                  <xs:attribute name="type" type="xs:string" use="required"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <!-- keys -->
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="key">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="selector" minOccurs="0">   <!-- defaults to . -->
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="extension" minOccurs="0">
                            <xs:complexType>
                              <xs:attribute name="nativeXpath" type="xs:string" use="required"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="xpath" type="xs:string" use="required"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string"/>
                  <xs:attribute name="type" type="xs:QName"/>
                  <xs:attribute name="inferred" type="xs:boolean" default="true"/>
                  <xs:attribute name="inferredSchema" type="xs:boolean" default="true"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <!-- relationships -->
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="relationshipTarget">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="relationship" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="description" type="xs:string" minOccurs="0"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="roleName" type="xs:string" use="required"/>
                  <xs:attribute name="roleNumber" type="tns:roleType" default="1"/>
                  <xs:attribute name="XDS" type="xs:string" use="required"/>
                  <xs:attribute name="minOccurs" type="tns:allNNI" default="1"/>
                  <xs:attribute name="maxOccurs" type="tns:allNNI" default="1"/>
                  <xs:attribute name="opposite" type="xs:string"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <!-- SDO elements -->
            <xs:element name="functionForDecomposition" minOccurs="0">
              <xs:complexType>
                <xs:attribute name="name" type="xs:QName" use="required"/>
                <xs:attribute name="arity" type="xs:int" use="required"/>
              </xs:complexType>
            </xs:element>
            <xs:element name="javaUpdateExit" minOccurs="0">
              <xs:complexType>
                <xs:attribute name="className" type="xs:string" use="required"/>
                <xs:attribute name="classFile" type="xs:string"/>
              </xs:complexType>
            </xs:element>
            <xs:element name="optimisticLockingFields" minOccurs="0">
              <xs:complexType>
                <xs:choice>
                  <xs:element name="updated">
                    <xs:complexType/>
                  </xs:element>
                  <xs:element name="projected">
                    <xs:complexType/>
                  </xs:element>
                  <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:attribute name="name" type="xs:string" use="required"/>
                    </xs:complexType>
                  </xs:element>
                </xs:choice>
              </xs:complexType>
            </xs:element>
            <!-- security -->
            <xs:element name="secureResources" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="secureResource" type="xs:NCName" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="readOnly" minOccurs="0">
              <xs:complexType/>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="targetType" type="xs:QName" use="required"/>
        </xs:complexType>
      </xs:element>
      <!--==================-->
      <!--  XFL annotation  -->
      <!--==================-->
      <xs:element name="xfl">
        <xs:complexType>
          <xs:sequence>
            <!-- document properties -->
            <xs:element name="author" type="xs:string" minOccurs="0"/>
            <xs:element name="comment" type="xs:string" minOccurs="0"/>
            <xs:element name="creationDate" type="xs:dateTime" minOccurs="0"/>
            <xs:element name="documentation" type="xs:string" minOccurs="0"/>
            <xs:element name="version" type="xs:decimal" minOccurs="0"/>
            <!-- user defined properties -->
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="property">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute name="name" type="xs:string"/>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <!-- data access properties -->
            <xs:choice>
              <!-- choice 1: java functions -->
              <xs:element name="javaFunction">
                <xs:complexType>
                  <xs:attribute name="class" type="xs:string" use="required"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 2: web services -->
              <xs:element name="webService">
                <xs:complexType>
                  <xs:attribute name="wsdl" type="xs:anyURI" use="required"/>
                  <xs:attribute name="targetNamespace" type="xs:anyURI" use="required"/>
                  <xs:attribute name="sbProxyServiceName" type="xs:string"/>
                  <xs:attribute name="sbTransportProtocol" type="tns:SBTransportProtocolType"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 3: relational sources -->
              <xs:element name="relationalDB">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="properties" minOccurs="0">
                      <xs:complexType>
                        <xs:anyAttribute processContents="lax" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" use="required"/>
                  <xs:attribute name="providerId" type="xs:string" />
                  <xs:attribute name="dbType" type="xs:string"/>
                  <xs:attribute name="dbVersion" type="xs:string"/>
                  <xs:attribute name="driver" type="xs:string"/>
                  <xs:attribute name="uri" type="xs:string"/>
                  <xs:attribute name="username" type="xs:string"/>
                  <xs:attribute name="password" type="xs:string"/>
                  <xs:attribute name="SID" type="xs:string"/>
                  <xs:attribute name="sourceBindingProviderClassName" type="xs:string"/>
                </xs:complexType>
              </xs:element>
              <!-- choice 6: user defined view -->
              <xs:element name="userDefinedView" minOccurs="0"/>
              <!-- choice 7: nothing, defaults to userDefinedView -->
              <xs:sequence/>
              <!-- choice 8: custom native functions -->
              <xs:element name="customNativeFunctions">
                <xs:complexType>
                  <xs:choice>
                    <xs:element name="relational">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="dataSource" type="xs:string" maxOccurs="unbounded"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:choice>
                </xs:complexType>
              </xs:element>
            </xs:choice>
             <!-- field annotations -->
              <xs:sequence minOccurs="0" maxOccurs="unbounded">
                <xs:element name="field">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="extension" minOccurs="0">
                        <xs:complexType>
                          <xs:sequence minOccurs="0">
                            <xs:element name="autoNumber">
                              <xs:complexType>
                                <xs:attribute name="type" type="tns:autoNumberType" use="required"/>
                                <xs:attribute name="sequenceObjectName" type="xs:string"/>
                              </xs:complexType>
                            </xs:element>
                          </xs:sequence>
                          <xs:attribute name="nativeXpath" type="xs:string"/>
                          <xs:attribute name="nativeType" type="xs:string"/>
                          <xs:attribute name="nativeTypeCode" type="xs:int"/>
                          <xs:attribute name="nativeSize" type="xs:int"/>
                          <xs:attribute name="nativeFractionalDigits" type="tns:scaleType"/>
                          <!-- relational: autoNumber -->
                          <!-- relational: native column names and types -->
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="properties">
                        <xs:complexType>
                          <xs:attribute name="immutable" type="xs:boolean" default="false"/>
                          <xs:attribute name="nullable" type="xs:boolean" default="false"/>
                          <xs:attribute name="transient" type="xs:boolean" default="false"/>
                        </xs:complexType>
                      </xs:element>
                    </xs:sequence>
                    <xs:attribute name="xpath" type="xs:string" use="required"/>
                    <xs:attribute name="type" type="xs:string" use="required"/>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>

          <xs:element name="secureResources" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="secureResource" type="xs:NCName" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <!--=======================-->
      <!--  function annotation  -->
      <!--=======================-->
      <xs:element name="function">
        <xs:complexType>
          <xs:sequence>

            <!-- standard properties -->
            <xs:element name="author" type="xs:string" minOccurs="0"/>
            <xs:element name="comment" type="xs:string" minOccurs="0"/>
            <xs:element name="version" type="xs:decimal" minOccurs="0"/>
            <xs:element name="documentation" type="xs:string" minOccurs="0"/>

            <!-- user defined properties -->
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="property">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute name="name" type="xs:string"/>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>

            <!-- UI properties -->
            <xs:element name="uiProperties" minOccurs="0">
              <xs:complexType>
                <xs:sequence maxOccurs="unbounded">
                  <xs:element name="component">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="treeInfo" minOccurs="0" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence>
                                <xs:element name="collapsedNodes" minOccurs="0">
                                <xs:complexType>
                                  <xs:sequence>
                                        <xs:element name="collapsedNode" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                            <xs:attribute name="id" type="xs:string"/>
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="identifier" type="xs:string"/>
                      <xs:attribute name="minimized" type="xs:boolean" default="false"/>
                      <xs:attribute name="x" type="xs:int"/>
                      <xs:attribute name="y" type="xs:int"/>
                      <xs:attribute name="w" type="xs:int"/>
                      <xs:attribute name="h" type="xs:int"/>
                      <xs:attribute name="viewPosX" type="xs:int"/>
                      <xs:attribute name="viewPosY" type="xs:int"/>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>

            <!-- sql statement -->
            <xs:element name="sql" minOccurs="0">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:extension base="xs:string">
                    <xs:attribute name="isSubquery" type="xs:boolean" default="true"/>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>

            <!-- cache -->
            <xs:element name="nonCacheable" minOccurs="0">
              <xs:complexType/>
            </xs:element>

            <!-- transactions -->
            <xs:element name="nonTransactional" minOccurs="0">
              <xs:complexType/>
            </xs:element>

            <!-- optimization -->
            <xs:element name="outputIsOrderedBy" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <!-- absent for parameters whose order in the function signature
                       coincides with their order in the order by list -->
                  <xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <!-- 1, 2, ... -->
                      <xs:attribute name="index" type="xs:int" use="required"/>
                      <!-- overrides default -->
                      <xs:attribute name="mode" type="tns:orderingModeType"/>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="mode" type="tns:orderingModeType" use="required"/>
              </xs:complexType>
            </xs:element>

            <xs:element name="inverseFunctions" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="inverseFunction" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <!-- 1, 2, ... -->
                      <xs:attribute name="parameterIndex" type="xs:int"/>
                      <xs:attribute name="name" type="xs:QName" use="required"/>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="equivalentTransforms" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="pair" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:attribute name="source" type="xs:QName" use="required"/>
                      <xs:attribute name="target" type="xs:QName" use="required"/>
                      <xs:attribute name="arity"  type="xs:int"   use="required"/>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>

            <!-- polymorphism -->
            <xs:element name="isPolymorphic" minOccurs="0">
              <xs:complexType>
                <xs:choice>
                  <xs:element name="parameter">
                    <xs:complexType>
                      <xs:sequence/>
                      <!-- optional: defaults to 1 -->
                      <xs:attribute name="index" type="xs:nonNegativeInteger"/>
                    </xs:complexType>
                  </xs:element>
                </xs:choice>
              </xs:complexType>
            </xs:element>

            <!-- signature: used by java functions and stored procedures -->
            <xs:element name="params" minOccurs="0">
              <xs:complexType>
                <xs:sequence maxOccurs="unbounded">
                  <xs:element name="param">
                    <xs:complexType>
                      <xs:attribute name="name" type="xs:string"/>
                      <xs:attribute name="nativeType" type="xs:string"/>
                      <xs:attribute name="nativeTypeCode" type="xs:int"/>
                      <xs:attribute name="xqueryType" type="xs:QName"/>
                      <xs:attribute name="kind" type="tns:paramKindType"/>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <!-- interceptor configuration: used by webservice SOAP interceptors -->
            <xs:element name="interceptorConfiguration" minOccurs="0">
              <xs:complexType>
                <xs:attribute name="aliasName" type="xs:string" use="required"/>
                <xs:attribute name="fileName" type="xs:string" use="required"/>
              </xs:complexType>
            </xs:element>

            <!-- implementation -->
            <xs:element name="implementation" minOccurs="0">
              <xs:complexType>
                <xs:choice>
                  <xs:element name="updateTemplate">
                    <xs:complexType/>
                  </xs:element>
                </xs:choice>
              </xs:complexType>
            </xs:element>
          </xs:sequence>

          <xs:attribute name="visibility" type="tns:functionVisibilityType" default="protected"/>
          <xs:attribute name="kind" type="tns:functionKindType" default="library"/>
          <xs:attribute name="isPrimary" type="xs:boolean" default="false"/>
          <xs:attribute name="roleName" type="xs:string"/>
          <xs:attribute name="nativeName" type="xs:string"/>
          <xs:attribute name="nativeLevel1Container" type="xs:string"/>
          <xs:attribute name="nativeLevel2Container" type="xs:string"/>
          <xs:attribute name="nativeLevel3Container" type="xs:string"/>
          <xs:attribute name="style" type="tns:functionStyleType"/>
        </xs:complexType>
      </xs:element>
      <!--================-->
      <!--  common types  -->
      <!--================-->
      <xs:simpleType name="functionVisibilityType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="public"/>
          <xs:enumeration value="protected"/>
          <xs:enumeration value="private"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="functionKindType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="read"/>
          <xs:enumeration value="navigate"/>
          <xs:enumeration value="create"/>
          <xs:enumeration value="update"/>
          <xs:enumeration value="delete"/>
          <xs:enumeration value="library"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="functionStyleType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="table"/>
          <xs:enumeration value="view"/>
          <xs:enumeration value="storedProcedure"/>
          <xs:enumeration value="sqlQuery"/>
          <xs:enumeration value="document"/>
          <xs:enumeration value="rpc"/>
        </xs:restriction>
      </xs:simpleType>
      <!-- used by stored procedures -->
      <xs:simpleType name="paramKindType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="unknown"/>
          <xs:enumeration value="in"/>
          <xs:enumeration value="inout"/>
          <xs:enumeration value="out"/>
          <xs:enumeration value="return"/>
          <xs:enumeration value="result"/>
        </xs:restriction>
      </xs:simpleType>
      <!-- used by maxOccurs in relationship -->
      <xs:simpleType name="allNNI">
        <xs:union memberTypes="xs:nonNegativeInteger">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="unbounded"/>
              <xs:enumeration value=""/>
            </xs:restriction>
          </xs:simpleType>
        </xs:union>
      </xs:simpleType>
      <!-- used by relationships -->
      <xs:simpleType name="roleType">
        <xs:restriction base="xs:nonNegativeInteger">
          <xs:enumeration value="1"/>
          <xs:enumeration value="2"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="autoNumberType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="identity"/>
          <xs:enumeration value="sequence"/>
          <xs:enumeration value="userComputed"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="nullSortOrderType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="high"/>
          <xs:enumeration value="low"/>
          <xs:enumeration value="unknown"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="scaleType">
        <xs:union memberTypes="xs:int">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="null"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:union>
      </xs:simpleType>
      <xs:simpleType name="orderingModeType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="ascending"/>
          <xs:enumeration value="descending"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="stringListType">
        <xs:list itemType="xs:string"/>
      </xs:simpleType>
      <xs:simpleType name="dataSourcesType">
        <xs:restriction base="tns:stringListType">
           <xs:minLength value="1"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="SBTransportProtocolType">
          <xs:restriction base="xs:string">
              <xs:enumeration value="t3"/>
              <xs:enumeration value="iiop"/>
              <xs:enumeration value="http"/>
              <xs:enumeration value="t3s"/>
              <xs:enumeration value="iiops"/>
              <xs:enumeration value="https"/>
          </xs:restriction>
      </xs:simpleType>
    </xs:schema>

Document generated by Confluence on Jan 13, 2009 15:57