Previous Page Arrow Next Page Arrow

Appendix E - registry.xsd

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="XsdToHtml.xslt"?>
<xs:schema xmlns:sme="http://schemas.sage.com/sdata/sme/2007" targetNamespace="http://schemas.sage.com/sdata/registry/2009" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.sage.com/sdata/registry/2009">
  <xs:element name="endpoint" id="endpoint" type="endpoint--type" sme:role="resourceKind" sme:pluralName="endpoints" sme:label="Endpoints" sme:canGet="true" sme:canPost="true" sme:canPut="true" sme:canDelete="true" sme:canPageNext="true" sme:canPagePrevious="true" sme:canPageIndex="true" sme:supportsETag="true" />
  <xs:complexType name="endpoint--type">
    <xs:all>
      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" sme:isLocalized="true" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" sme:isLocalized="true" />
      <xs:element name="endpointType" type="endpoint--enum" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="protocol" type="protocol--enum" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="host" type="xs:string" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="port" type="xs:integer" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="applicationName" type="xs:string" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="contractName" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="contractVersion" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="dataSetName" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="url" type="xs:anyURI" minOccurs="0" maxOccurs="1" />
      <xs:element name="isBrowsable" type="xs:boolean" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true"/>
      <xs:element name="aliveStamp" type="xs:dateTime" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true"/>
      <xs:element name="properties" type="property--list" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true"/>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="endpoint--list">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="endpoint" type="endpoint--type" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="endpoint--enum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="application"/>
      <xs:enumeration value="contract"/>
      <xs:enumeration value="dataSet"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="protocol--enum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="http"/>
      <xs:enumeration value="https"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="contract" id="contract" type="contract--type" sme:role="resourceKind" sme:pluralName="contracts" sme:label="Contracts" sme:canGet="true" sme:canPost="true" sme:canPut="true" sme:canDelete="true" sme:canPageNext="true" sme:canPagePrevious="true" sme:canPageIndex="true" sme:supportsETag="true" />
  <xs:complexType name="contract--type">
    <xs:all>
      <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" sme:isLocalized="true" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="namespace" type="xs:anyURI" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
      <xs:element name="baseNamespace" type="xs:anyURI" minOccurs="0" maxOccurs="1" sme:canSort="true" sme:canFilter="true" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="contract--list">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="endpoint" type="endpoint--type" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="property--list">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="property" type="property--type"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="property--type">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="ns" type="xs:anyURI" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>

Previous Page Arrow Next Page Arrow