Schema Name: STARWSDLDataTypes4.xsd
Target Namespace: http://www.starstandards.org/webservices/2009/transport
Collapse XSD Schema Code:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:starws="http://www.starstandards.org/webservices/2009/transport"
            xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
  targetNamespace="http://www.starstandards.org/webservices/2009/transport" xmlns="http://www.starstandards.org/webservices/2009/transport"
  elementFormDefault="qualified"
>

  <!-- Payload -->
  <xsd:complexType name="Payload">
    <xsd:annotation>
      <xsd:documentation source="http://www.starstandard.org/">The Payload is a general purpose wrapper for the content that is
        transmitted as part of the soap-env:body.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="content" type="Content" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org">Describes the type of payload included. This item is optional.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:anyAttribute/>
  </xsd:complexType>
  <xsd:complexType name="Content">
    <xsd:annotation>
      <xsd:documentation source="http://www.starstandard.org">Contains the content of a particular payload.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:any namespace="##any" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org">Generic Payload, this can be any type of content as long as it
            meets XML formatting standards.</xsd:documentation>
        </xsd:annotation>
      </xsd:any>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:token" use="required">
      <xsd:annotation>
        <xsd:documentation source="http://www.starstandard.org">A unique id that identifies the content being sent. This corresponds
          to the id specified in the manifest.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:anyAttribute/>
  </xsd:complexType>


  <!-- Attachment -->
  <!-- Need to rework this so that it uses Elements instead of Attributes for some of this metadata -->
  <xsd:element name="attachment" type="Attachment">
    <xsd:annotation>
      <xsd:documentation source="http://www.starstandard.org">Extended information regarding attachments.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name="Attachment">
    <xsd:annotation>
      <xsd:documentation>Attachment Information.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
        <xsd:element name="id" type="xsd:token" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>An optional ID to identify the attachment</xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="fileName" type="xsd:string" minOccurs="0" maxOccurs="1"> 
            <xsd:annotation>
              <xsd:documentation source="http://www.starstandard.org">The name of the file being transported</xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="attachmentData" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="0" maxOccurs="1">
           <xsd:annotation>
             <xsd:documentation source="http://www.starstandard.org">Binary data using base64Binary encoding.</xsd:documentation>
           </xsd:annotation>
        </xsd:element>
        <xsd:element name="mimeCode" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation source="http://www.starstandard.org/">Describes the content type of the attachment using a MIME code
              </xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="uriReference" type="xsd:anyURI" minOccurs="0" maxOccurs="1">
           <xsd:annotation>
             <xsd:documentation source="http://www.starstandard.org">External attachments that reside on an accessible server. For
               these attachments this element carries only the URL of the attachment.</xsd:documentation>
           </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <!-- Manifest -->
  <xsd:element name="payloadManifest" type="PayloadManifest">
    <xsd:annotation>
      <xsd:documentation source="http://www.starstandard.org">The payload manifest contains one manifest element for each content
        element in the SOAP body.</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name="PayloadManifest">
    <xsd:annotation>
      <xsd:documentation>The payload manifest contains one manifest element for each content element in the SOAP body.
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="manifest" type="Manifest" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org"> The manifest provides an easy and fast way to identify the type
            of data in the message without parsing the whole message. This is useful for implementations that make
            routing decisions based on the contents of the message. And, it’s especially useful if the body of the
            message is encrypted.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="Manifest">
    <xsd:annotation>
      <xsd:documentation> The manifest provides an easy and fast way to identify the type of data in the message without
        parsing the whole message. This is useful for implementations that make routing decisions based on the contents
        of the message. And, it’s especially useful if the body of the message is encrypted.</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="contentID" type="xsd:token" use="required">
      <xsd:annotation>
        <xsd:documentation> This attribute should be populated with the ID of the corresponding content element. This
          attribute, along with the id attribute of the content element is used to match the manifest to its
          corresponding content element</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="namespaceURI" type="xsd:anyURI" use="required">
      <xsd:annotation>
        <xsd:documentation source="http://www.starstandard.org"> This attribute contains the namespace URI of the XML element in the
          corresponding content in the SOAP body</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="element" type="xsd:string" use="required">
      <xsd:annotation>
        <xsd:documentation source="http://www.starstandard.org"> This attribute contains the local name of the XML element in the
          corresponding content in the SOAP body.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="relatedID" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation source="http://www.starstandard.org"> Need documentation.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="version" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation source="http://www.starstandard.org"> When the payload content is a BOD, this attribute contains the
          version number of the noun’s schema used to validate the BOD, for example, 3.01. For an attachment, version
          specifies the version of the attachment contents. For example, DTS files use the interfaceVersion of the file.
          For BOD content and DTS attachments this attribute is REQUIRED.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>

  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  CriteriaListType  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="CriteriaListType">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" name="criteria" type="starws:CriteriaType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org"> Criteria contains a unbounded list of filter criteria that can be
            applied to a queue. If included it is used to specify what should be retrieved. More than one criteria can
            be specified. Each criteria is it's own filter.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  CriteriaType  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="CriteriaType">
    <xsd:annotation>
      <xsd:documentation source="http://www.starstandard.org/"> Defines the available elements that can be used to specify the filter
        criteria.</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <!-- Add an attribute for Not as an indicator (true/false). -->
      <xsd:element minOccurs="0" name="verb" type="CriteriaLogicStringType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org/"> The OAGIS or STAR Verb. (i.e. Process, Acknowledge, Notify, etc.)
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="noun" type="CriteriaLogicStringType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org/"> The OAGIS or STAR Noun for a particular BOD. (i.e. PartsOrder,
            CreditApplication, FinancialStatement, etc.)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="serviceID" type="CriteriaLogicStringType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org/"> Need Definition</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="partyID" type="CriteriaLogicStringType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org"> Assigning Organization Party ID. This should be the ID of the
            party on behalf of which the pull request is being made. In most cases this will be the ID of the calling
            party.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="startDateTime" type="CriteriaLogicDateTimeType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org"> Indicates the beginning time/date range of messages to be
            retrieved during this pull session. Based on the time/date at which each message was originally queued for
            delivery.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="endDateTime" type="CriteriaLogicDateTimeType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org/"> Indicates the ending time/date range of messages to be retrieved
            during this pull session. Based on the time/date at which each message was originally queued for delivery.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="pullStatus" type="CriteriaLogicDateTimeType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org/"> The status of an item to be pulled. (i.e. Pulled, Ready, etc.)
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="communicatorID" type="CriteriaLogicStringType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org/"> Identifer of the party on behalf of which the pull call was
            submitted. This could be the ID of the calling party or it may be an alternate party if the pull request is
            being proxied by another service.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="predefined" type="CriteriaLogicStringType" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org/"> These are complex queries or queries that can't be represented
            using the current filter criteria. They may contain if then else logic, and are identified by a name (i.e.
            GetWidgetsGreaterThan10)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  FilterCriteriaType  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="FilterCriteriaType">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" name="criteriaList" type="starws:CriteriaListType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org"> A list of filter criterias to be applied to pulling.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  PullMessage  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="PullMessageType">
    <xsd:sequence>
      <xsd:element name="filter" type="starws:FilterType" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="maxItems" type="xsd:integer">
      <xsd:annotation>
        <xsd:documentation source="http://www.starstandard.org"> The maximum number of items to be sent. The service may send less
          than the number requested but should never send more than the number requested in any one pulling session.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="FilterType">
    <xsd:sequence>
      <xsd:element name="filterConnection" type="FilterConnectionType" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="receiptIDs" type="ReceiptIDsType" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org"> An unbounded list of content ids that have been previously
            received since the last pull request.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element minOccurs="0" name="filterCriteria" type="starws:FilterCriteriaType">
        <xsd:annotation>
          <xsd:documentation source="http://www.starstandard.org"> Specifies the possible filter criteria for the items being
            pulled.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="queueListIndicator" type="xsd:boolean" use="optional">
      <xsd:annotation>
        <xsd:documentation source="http://www.starstandard.org/STAR/5"> When set to true the attribute indicates that the filter is used to
          assemble a list of elements that could be returned. A list of these elements is returned using a BOD selected
          for this purpose. Values are true or false. True means to use the indicator, false means not to use it. If the
          attribute is not included then false is assumed.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="FilterConnectionType">
    <xsd:attribute name="connectionID" type="xsd:token" use="required">
      <xsd:annotation>
        <xsd:documentation> A unique connection id for the filter. Used during persistance of a filter.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="destroy" type="xsd:boolean" use="optional">
      <xsd:annotation>
        <xsd:documentation> The destroy attribute of FilterConnection will be set to true when the client decides to
          destroy a persisted filter before all of its applicable messages have been pulled. If and when the client does
          pull all of the persisted filter's applicable messages, then the web service will automatically destroy the
          connection and return an empty pull response. If the client does not pull all of a persisted filter's
          applicable messages and does not explicitly destroy the persisted filter by setting the destroy attribute to
          true, then based on an agreed upon out-of-band policy, the web service will expire the persisted filter after
          X number of days.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="ReceiptIDsType">
    <xsd:sequence>
      <xsd:element name="receiptID" type="xsd:token" minOccurs="1" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>


  <!-- Methods -->
  <xsd:element name="PutMessageResponse">
    <xsd:complexType/>
  </xsd:element>
  <xsd:element name="PullMessage" type="PullMessageType"/>
  <xsd:complexType name="CriteriaLogicStringType">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute ref="operation"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="CriteriaLogicDateTimeType">
    <xsd:simpleContent>
      <xsd:extension base="xsd:dateTime">
        <xsd:attribute ref="operation"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:attribute name="operation" type="OperationEnumeratedType">
    <xsd:annotation>
      <xsd:documentation> An enumerated list of and, or, not.</xsd:documentation>
    </xsd:annotation>
  </xsd:attribute>
  <xsd:simpleType name="OperationEnumeratedType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="and"/>
      <xsd:enumeration value="or"/>
      <xsd:enumeration value="not"/>
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>
Collapse Attributes:
Collapse ComplexTypes:
Collapse Elements:
Collapse SimpleTypes: