OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cam message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Fw: [asap] WSDL


Folks,

These WSDL files were just posted over on ASAP.

These look like great blueprint for us to build a CAM WSDL
definition set for a CAM processor.

Anyone like to volunteer to modify these and produce a
set for CAM?

Thanks, DW

----- Original Message ----- 
From: "Jeffrey Ricker" <jricker@izarinc.com>
To: "ASAP" <asap@lists.oasis-open.org>
Sent: Tuesday, November 04, 2003 11:35 AM
Subject: [asap] WSDL


> I have attached files for describing the current draft of ASAP in WSDL.
> These are rough draft documents that have not been proofed.
>
> The asap.xsd describes the payloads
> The asap.wsdl is the basis for all ASAP services
>
> The concept here is to treat ASAP as a binding. The message structures
> are all the same, the programmer only has to define the ContextData and
> the ResultsData elements.
>
> The checkInventory.wsdl and productLevel.xsd files provide an example of
> this ASAP-as-a-binding approach.
>
> Ricker
>


----------------------------------------------------------------------------
----


> To unsubscribe from this mailing list (and be removed from the roster of
the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/asap/members/leave_workgroup.php.
<?xml version="1.0"?>
<wsd:definitions name="ASAP" 
                 targetNamespace="http://www.oasis-open.org/asap/0.9/asap.wsdl";
                 xmlns:asdl="http://www.oasis-open.org/asap/0.9/asap.wsdl";
                 xmlns:asap="http://www.oasis-open.org/asap/0.9/asap.xsd";
                 xmlns:wsd="http://schemas.xmlsoap.org/wsdl/";
                 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
                 xmlns:xsd="http://www.w3.org/2000/10/XMLSchema";>

<import namespace="asap" location="http://www.awsp.info/spec/1.0/awsp.xsd"/>

<wsd:documentation>

	Asynchronous Service Access Protocol (ASAP)
	Jeffrey Ricker 
	
	DRAFT 
	Original 2002.02.18
	revised 2003.11.04
 
	The purpose of this document is to show the ASAP defined in the 
	Web Services Description Language (WSDL)[http://www.w3.org/TR/wsdl/]. 
	This document is for reference only. Programmers should import this document 
	and use the ASAP binding extension to WSDL to specify actual services.

</wsd:documentation>

<wsd:types>
  <wsd:documentation> All types located in the asap.xsd file </wsd:documentation>
</wsd:types>

<!-- Messages =========== -->

<wsd:message name="completedRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:CompletedRq"/>
</wsd:message>

<wsd:message name="completedResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:CompletedRs"/>
</wsd:message>

<wsd:message name="createInstanceRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:CreateInstanceRq"/>
</wsd:message>

<wsd:message name="createInstanceResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:CreateInstanceRs"/>
</wsd:message>

<wsd:message name="getPropertiesRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:GetPropertiesRq"/>
</wsd:message>

<wsd:message name="getPropertiesResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:GetPropertiesRs"/>
</wsd:message>

<wsd:message name="listInstancesRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:ListInstancesRq"/>
</wsd:message>

<wsd:message name="listInstancesResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:ListInstancesRs"/>
</wsd:message>

<wsd:message name="notifyRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:NotifyRq"/>
</wsd:message>

<wsd:message name="notifyResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:NotifyRs"/>
</wsd:message>

<wsd:message name="terminateRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:TerminateRq"/>
</wsd:message>

<wsd:message name="terminateResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:TerminateRs"/>
</wsd:message>

<wsd:message name="terminatedRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:TerminatedRq"/>
</wsd:message>

<wsd:message name="terminatedResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:TerminatedRs"/>
</wsd:message>

<wsd:message name="setPropertiesRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:SetPropertiesRq"/>
</wsd:message>

<wsd:message name="setPropertiesResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:SetPropertiesRs"/>
</wsd:message>

<wsd:message name="subscribeRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:SubscribeRq"/>
</wsd:message>

<wsd:message name="subscribeResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:SubscribeRs"/>
</wsd:message>

<wsd:message name="unsubscribeRequest"> 
  <part name="head" element="asap:Request"/>
  <part name="body" element=asap:UnsubscribeRq"/>
</wsd:message>

<wsd:message name="unsubscribeResponse"> 
  <part name="head" element="asap:Response"/>
  <part name="body" element=asap:UnsubscribeRs"/>
</wsd:message>


<!-- Port types ============== -->

<wsd:portType name="InstancePortType">
  <wsd:operation name="GetProperties">
    <wsd:input message="getPropertiesRequest"/>
    <wsd:output message="getPropertiesResponse">
  </wsd:operation>
  <wsd:operation name="SetProperties">
    <wsd:input message="setPropertiesRequest"/>
    <wsd:output message="setPropertiesResponse">
  </wsd:operation>
  <wsd:operation name="Terminate">
    <wsd:input message="terminateRequest"/>
    <wsd:output message="terminateResponse">
  </wsd:operation> 
  <wsd:operation name="Subscribe">
    <wsd:input message="subscribeRequest"/>
    <wsd:output message="subscribeResponse">
  </wsd:operation>
  <wsd:operation name="Unsubscribe">
    <wsd:input message="unsubscribeRequest"/>
    <wsd:output message="unsubscribeResponse">
  </wsd:operation>
</wsd:portType>

<wsd:portType name="FactoryPortType">
  <wsd:operation name="GetProperties">
    <wsd:input message="getPropertiesRequest"/>
    <wsd:output message="getPropertiesResponse">
  </wsd:operation>
  <wsd:operation name="CreateInstance">
    <wsd:input message="createInstanceRequest"/>
    <wsd:output message="createInstanceResponse">
  </wsd:operation>
  <wsd:operation name="ListInstances">
    <wsd:input message="listInstancesRequest"/>
    <wsd:output message="listInstancesResponse">
  </wsd:operation>
</wsd:portType>

<wsd:portType name="ObserverPortType">
  <wsd:operation name="GetProperties">
    <wsd:input message="getPropertiesRequest"/>
    <wsd:output message="getPropertiesResponse">
  </wsd:operation>
  <wsd:operation name="Completed">
    <wsd:input message="completedRequest"/>
    <wsd:output message="completedResponse">
  </wsd:operation>
  <wsd:operation name="Terminated">
    <wsd:input message="terminatedRequest"/>
    <wsd:output message="terminatedResponse">
  </wsd:operation> 
  <wsd:operation name="Notify">
    <wsd:input message="notifyRequest"/>
    <wsd:output message="notifyResponse">
  </wsd:operation>
</wsd:portType>

<wsd:portType name="ActivityPortType">
  <wsd:operation name="GetProperties">
    <wsd:input message="getPropertiesRequest"/>
    <wsd:output message="getPropertiesResponse">
  </wsd:operation>
</wsd:portType>

<!-- Bindings ============== -->

<wsd:binding name="AsapInstanceBinding">
   <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
   <wsd:operation name="GetProperties">
      <soap:operation/>
      <wsd:input message="getPropertiesRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="getPropertiesRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="getPropertiesResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="getPropertiesResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="SetProperties">
      <soap:operation/>
      <wsd:input message="setPropertiesRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="setPropertiesRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="setPropertiesResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="setPropertiesResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="Terminate">
      <soap:operation/>
      <wsd:input message="terminateRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="terminateRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="terminateResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="terminateResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation> 
   <wsd:operation name="Subscribe">
      <soap:operation/>
      <wsd:input message="subscribeRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="subscribeRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="subscribeResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="subscribeResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="Unsubscribe">
      <soap:operation/>
      <wsd:input message="unsubscribeRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="unsubscribeRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="unsubscribeResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="unsubscribeResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
</wsd:binding>

<wsd:binding name="AsapFactoryBinding">
   <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
   <wsd:operation name="GetProperties">
      <soap:operation/>
      <wsd:input message="getPropertiesRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="getPropertiesRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="getPropertiesResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="getPropertiesResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="CreateInstance">
      <soap:operation/>
      <wsd:input message="createInstanceRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="createInstanceRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="createInstanceResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="createInstanceResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="ListInstances">
      <soap:operation/>
      <wsd:input message="listInstancesRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="listInstancesRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="listInstancesResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="listInstancesResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
</wsd:binding>

<wsd:binding name="AsapObserverBinding">
   <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
   <wsd:operation name="GetProperties">
      <soap:operation/>
      <wsd:input message="getPropertiesRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="getPropertiesRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="getPropertiesResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="getPropertiesResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="Completed">
      <soap:operation/>
      <wsd:input message="completedRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="completedRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="completedResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="completedResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="Terminated">
      <soap:operation/>
      <wsd:input message="terminatedRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="terminatedRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="terminatedResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="terminatedResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
   <wsd:operation name="Notify">
      <soap:operation/>
      <wsd:input message="notifyRequest">
         <soap:body parts="body" use="literal"/>
         <soap:header message="notifyRequest" part="head" use="literal"/>
      </wsd:input>
      <wsd:output message="notifyResponse">
         <soap:body parts="body" use="literal"/>
         <soap:header message="notifyResponse" part="head" use="literal"/>
      </wsd:output>
   </wsd:operation>
</wsd:binding>


<!-- 

	Since ASAP is a protocol, we cannot define actual services with URIs in this document. 
	Import this document into your service description file.

-->
  
</wsd:definitions>

<?xml version="1.0"?>
<xsd:schema targetNamespace="http://www.oasis-open.org/asap/0.9/asap.xsd";
        xmlns:xsd="http://www.w3.org/2000/10/XMLSchema";>
       
       
 <annotation>
   <documentation xml:lang="en">
   
       	Asynchronous Service Access Protocol
       	
      	Jeffrey Ricker
		DRAFT 
		Original 2002.02.18
		Revised 2003.11.04
           
   </documentation> 
 </annotation>

<!-- headers ============ -->

<xsd:element name="Request">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="SenderKey" type="xsd:anyURI" minOccurs="0"/>
      <xsd:element name="ReceiverKey" type="xsd:anyURI"/>
      <xsd:element name="ResponseRequired" type="YesNoIfError">
      <xsd:element name="RequestID" type="xsd:anyURI" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:simpleType name="YesNoIfError">
  <xsd:restriction base="xsd:string">
    <xsd:enumeration value="Yes"/>
    <xsd:enumeration value="No"/>
    <xsd:enumeration value="IfError"/>
  </xsd:restriction>
</xsd:simpleType>

<xsd:element name="Response">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="SenderKey" minOccurs="0"/>
      <xsd:element ref="ReceiverKey"/>
      <xsd:element ref="RequestID" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

<!-- properties ============= -->

<xsd:group name="instanceProperties">
  <xsd:sequence>
    <xsd:element name="Key" type="xsd:anyURI"/>
    <xsd:element name="ResourceType" type="resourceType" maxOccurs="unbounded"/>
    <xsd:element name="State" type="stateType"/>
    <xsd:element name="Name" type="xsd:string"/>
    <xsd:element name="Subject" type="xsd:string"/>
    <xsd:element name="Description" type="xsd:string"/>
    <xsd:element name="ReqestingUser" type="userType"/>
    <xsd:element name="AccessUsers">
      <xsd:complexType>  
        <xsd:sequence>
          <xsd:element name="AccessUser" type="userType" maxOccurs="unbounded"/>
        </xsd:sequence>
      </xsd:complexType>
    </xsd:element>
    <xsd:element name="ValidStates" type="stateType" maxOccurs="unbounded"/>
   <xsd:element name="FactoryKey" type="xsd:anyURI"/>
   <xsd:element name="Observers">
     <xsd:complexType>  
       <xsd:sequence>
         <xsd:element name="ObserverKey" type="xsd:anyURI" maxOccurs="unbounded"/>
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
   <xsd:element name="ContextData" type="xsd:anyType"/>
   <xsd:element name="ResultData" type="xsd:anyType"/>
   <xsd:element name="Priority" type="xsd:int"/>
   <xsd:element name="LastModified" type="xsd:date"/>
   <xsd:element name="Activities">
     <xsd:complexType>
       <xsd:sequence>
         <xsd:element name="ActivityKey" type="xsd:anyURI" maxOccurs="unbounded"/>
       </xsd:sequence>
     </xsd:complexType>
   </xsd:element>
   <xsd:element name="History" type="historyType"/>
 </xsd:sequence>
</xsd:group>

<xsd:group name="factoryProperties">
  <xsd:sequence>
    <xsd:element ref="Key"/>
    <xsd:element ref="ResourceType" maxOccurs="unbounded"/>
    <xsd:element ref="Name"/>
    <xsd:element ref="Subject"/>
    <xsd:element ref="Description"/>
    <xsd:element ref="ValidStates" maxOccurs="unbounded"/>
    <xsd:element name="ContextDataSchema" type="schemaType"/>
    <xsd:element name="ResultDataSchema" type="schemaType"/>
    <xsd:element name="Expiration" type="xsd:duration"/>
  </xsd:sequence>
</xsd:group>
<xsd:complexType name="schemaType">
  <xsd:sequence>
    <xsd:any namespace="##other"/>
  </xsd:sequence>
  <xsd:attribute name="href" type="anyURI"/>
</xsd:complexType>

<xsd:group name="observerProperties">
  <xsd:sequence>
    <xsd:element ref="Key"/>
    <xsd:element ref="ResourceType" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:group>


<!-- messages =================== -->

<xsd:element name="GetPropertiesRq"/>
<xsd:element name="GetPropertiesRs">
  <xsd:complexType>
    <xsd:choice>
      <xsd:group ref="instanceProperties"/>
      <xsd:group ref="factoryProperties"/>
      <xsd:group ref="observerProperties"/>
    </xsd:choice>
  </xsd:complexType>
</xsd:element>

<xsd:element name="SetPropertiesRq">
  <xsd:complexType>
    <xsd:element ref="Subject"/>
    <xsd:element ref="Description"/>
    <xsd:element ref="State"/>
    <xsd:element ref="Priority"/>
    <xsd:element name="Data" type="xsd:anyType">
  </xsd:complexType>
</xsd:element>
<xsd:element name="SetPropertiesRs">
  <xsd:complexType>
    <xsd:group ref="instanceProperties"/>
  </xsd:complexType>  
</xsd:element>

<xsd:element name="TerminateRq"/>
<xsd:element name="TerminateRs">
  <xsd:complexType>
    <xsd:group ref="instanceProperties"/>
  </xsd:complexType>  
</xsd:element>

<xsd:element name="SubscribeRq">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="ObserverKey"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:element name="SubscribeRs"/>

<xsd:element name="UnsubscribeRq">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="ObserverKey"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:element name="UnsubscribeRs"/>

<xsd:element name="CreateInstanceRq">
  <xsd:complexType>
    <xsd:sequence>
       <xsd:element name="StartImmediately" type="xsd:boolean"/>
        <xsd:element ref="ObserverKey" minOccurs="0"/>
        <xsd:element ref="Name" minOccurs="0"/>
        <xsd:element ref="Subject" minOccurs="0"/>
        <xsd:element ref="Description" minOccurs="0"/>
        <xsd:element ref="ContextData"/>
    </xsd:sequence>
</xsd:element>
<xsd:element name="CreateInstanceRs">
  <xsd:element name="InstanceKey"  type="xsd:anyURI"/>
</xsd:element>

<xsd:element name="ListInstancesRq">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="Filter" type="xsd:string">
        <xsd:attribute name="filterType" type="xsd:NMTOKEN"/>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:element name="ListInstancesRs">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="InstanceKey"/>
      <xsd:element ref="Name" minOccurs="0"/>
      <xsd:element ref="Subject" minOccurs="0"/>
      <xsd:element ref="Priority" minOccurs="0"/>
      </xsd:sequence>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

<xsd:element name="CompletedRq">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="InstanceKey"/>
      <xsd:element ref="ResultData"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:element name="CompletedRs"/>

<xsd:element name="TerminatedRq">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="Reason" type="xsd:string" minOccurs="0"/>
      <xsd:group ref="instanceProperties"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:element name="TerminatedRs"/>

<xsd:element name="NotifyRq">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="Event"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:element name="NotifyRs"/>


</xsd:schema>

<?xml version="1.0"?>
<wsd:definitions name="checkInventory" 
	targetNamespace="http://demo.izartech.com/schema/checkInventory.wsdl";
	xmlns:asap="http://www.oasis-open.org/asap/0.9/asap.xsd";
	xmlns:asdl="http://www.oasis-open.org/asap/0.9/asap.wsdl";
	xmlns:izar="http://demo.izartech.com/schema/productlevel.xsd";
	xmlns:wsd="http://schemas.xmlsoap.org/wsdl/";
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
	xmlns:xsd="http://www.w3.org/2000/10/XMLSchema";>

<import 
	namespace="http://www.oasis-open.org/asap/0.9/asap.wsdl"; 
    location="http://www.oasis-open.org/asap/0.9/asap.wsdl"/>

<import namespace="http://www.usonia.net/schema/productlevel.xsd"; 
	location="http://demo.izartech.com/schema/productlevel.xsd"/>

<wsd:documentation>

   Inventory levels for IzarTech.
   
   This web service provides inventory levels by part number (SKU). 
   If you do not know the correct SKU, please see http:/demo.izartech.com/catalog/ 
   or call Dave Stephenson at 201.555.7263. As an option, you can also submit the 
   product name for clarification and the quantity you. The process will return the SKU, 
   official product name and the quantity we currently have in inventory.

</wsd:documentation>

<wsd:service name="CheckInventoryService">
   <wsd:documentation>Check inventory level</wsd:documentation>
   <wsd:port name="CheckInventoryFactory" binding="asdl:AsapFactoryBinding">
      <asap:Key uri="http://demo.izartech.com/engine/checkInventory"/>
      <asap:ContextDataSchema element="izar:product"/>
      <asap:ResultDataSchema element="izar:product"/>
   </wsd:port>
</wsd:service>

</wsd:definitions>
<?xml version="1.0"?>
<schema targetNamespace="http://demo.izartech.com/schema/productlevel.xsd";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema";
        xmlns="http://demo.izartech.com/schema/productlevel.xsd";>

 <annotation>
   <documentation xml:lang="en">
     Inventory levels for IzarTech
   </documentation> 
 </annotation>

 <xsd:complexType name="product">
   <xsd:sequence>
     <xsd:element name="prodNum" type="SKU"/>
     <xsd:element name="prodName" type="xsd:string" minOccurs="0"/>
     <xsd:element name="quantity" minOccurs="0">
       <xsd:simpleType>
         <xsd:restriction base="xsd:positiveInteger">
           <xsd:maxExclusive value="100"/>
         </xsd:restriction>
       </xsd:simpleType>
     </xsd:element>
   </xsd:sequence>
 </xsd:complexType>

 <!-- Stock Keeping Unit, a code for identifying products -->
 <xsd:simpleType name="SKU">
   <xsd:restriction base="xsd:string">
     <xsd:pattern value="\d{3}-[A-Z]{2}"/>
   </xsd:restriction>
 </xsd:simpleType>
 
</xsd:schema>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]