Cover Pages Logo SEARCH
Advanced Search
ABOUT
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

NEWS
Cover Stories
Articles & Papers
Press Releases

CORE STANDARDS
XML
SGML
Schemas
XSL/XSLT/XPath
XLink
XML Query
CSS
SVG

TECHNOLOGY REPORTS
XML Applications
General Apps
Government Apps
Academic Apps

EVENTS
LIBRARY
Introductions
FAQs
Bibliography
Technology and Society
Semantics
Tech Topics
Software
Related Standards
Historic

WSCL Schema Definition


From: Web Services Conversation Language (WSCL) 1.0
URL: http://www.e-speak.hp.com/media/wscl_5_16_01.pdf
Appendix A: WSCL Schema Definition
Appendix B: Example WSCL Specification


Appendix A: WSCL Schema Definition
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xsd:id="WSCL" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
xsd:targetNamespace="http://www.e-speak.net/schema/WSCL"
xsd:elementFormDefault="unqualified" xsd:attributeFormDefault="unqualified">
<xsd:element name="Conversation">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ConversationInteractions"/>
<xsd:element ref="ConversationTransitions"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="version" type="xsd:string" use="optional"/>
<xsd:attribute name="description" type="xsd:string" use="optional"/>
<xsd:attribute name="targetNamespace" type="xsd:uriReference" 
use="optional"/>
<xsd:attribute name="hrefSchema" type="xsd:uriReference" use="optional"/>
<xsd:attribute name="initialInteraction" type="xsd:IDREF" use="required"/>
<xsd:attribute name="finalInteraction" type="xsd:IDREF" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="ConversationInteractions">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Interaction" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Interaction">
<xsd:complexType>
<xsd:choice>
<xsd:group ref="ReceiveSendDocumentGroup"/>
<xsd:group ref="SendReceiveDocumentGroup"/>
<xsd:group ref="ReceiveDocumentGroup"/>
<xsd:group ref="SendDocumentGroup"/>
<xsd:group ref="EmptyDocumentGroup"/>
</xsd:choice>
<xsd:attribute name="id" type="xsd:ID" use="required"/>
<xsd:attribute name="interactionType" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SendReceive"/>
<xsd:enumeration value="ReceiveSend"/>
<xsd:enumeration value="Receive"/>
<xsd:enumeration value="Send"/>
<xsd:enumeration value="Empty"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:group name="EmptyDocumentGroup"/>
<xsd:group name="ReceiveSendDocumentGroup">
<xsd:sequence>
<xsd:element ref="InboundXMLDocument" />
<xsd:element ref="OutboundXMLDocument" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="SendReceiveDocumentGroup">
<xsd:sequence>
<xsd:element ref="OutboundXMLDocument"/>
<xsd:element ref="InboundXMLDocument" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="ReceiveDocumentGroup">
<xsd:sequence>
<xsd:element ref="InboundXMLDocument"/>
</xsd:sequence>
</xsd:group>
<xsd:group name="SendDocumentGroup">
<xsd:sequence>
<xsd:element ref="OutboundXMLDocument"/>
</xsd:sequence>
</xsd:group>
<xsd:element name="InboundXMLDocument" type="XMLDocumentType"/>
<xsd:element name="OutboundXMLDocument" type="XMLDocumentType"/>
<xsd:complexType name="XMLDocumentType">
<xsd:attribute name="id" type="xsd:ID" use="required"/>
<xsd:attribute name="hrefSchema" type="xsd:uriReference" use="optional"/>
</xsd:complexType>
<xsd:element name="ConversationTransitions">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Transition" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Transition">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="SourceInteraction" />
<xsd:element ref="DestinationInteraction" />
<xsd:element ref="SourceInteractionCondition" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SourceInteraction">
<xsd:complexType>
<xsd:attribute name="href" type="xsd:IDREF" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="DestinationInteraction">
<xsd:complexType>
<xsd:attribute name="href" type="xsd:IDREF" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="SourceInteractionCondition">
<xsd:complexType>
<xsd:attribute name="href" type="xsd:IDREF" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>


Appendix B: Example WSCL Specification
The following XML document is a WSCL specification for the example 
conversation shown
in Figure 2.
<?xml version="1.0" encoding="UTF-8"?>
<Conversation name="StoreFrontServiceConversation"
initialInteraction="Start" finalInteraction="End" >
<ConversationInteractions>
<Interaction interactionType="ReceiveSend" id="Login">
<InboundXMLDocument hrefSchema="http://conv123.org/LoginRQ.xsd"
id="LoginRQ"/>
<OutboundXMLDocument hrefSchema="http://conv123.org/ValidLoginRS.xsd"
id="ValidLoginRS"/>
<OutboundXMLDocument hrefSchema="http://conv123.org/InvalidLoginRS.xsd"
id="InvalidLoginRS" />
</Interaction>
<Interaction interactionType="ReceiveSend" id="Registration">
<InboundXMLDocument hrefSchema="http://conv123.org/RegistrationRQ.xsd"
id="LoginRQ"/>
<OutboundXMLDocument hrefSchema="http://conv123.org/RegistrationRS.xsd"
id="RegistrationRS"/>
</Interaction>
<Interaction interactionType="Receive" id="Logout">
<InboundXMLDocument hrefSchema="http://conv123.org/Logout.xsd"
id="LogoutMessage"/>
<OutboundXMLDocument hrefSchema="http://conv123.org/RegistrationRS.xsd"
id="RegistrationRS"/>
</Interaction>
<Interaction interactionType="ReceiveSend" id="CatalogInquiry" >
<InboundXMLDocument hrefSchema=http://conv123.org/CatalogRQ.xsd
id="CatalogRQ"/>
<OutboundXMLDocument hrefSchema="http://conv123.org/CatalogRS.xsd"
id="CatalogRS" />
</Interaction>
<Interaction interactionType="ReceiveSend" id="Quote" >
<InboundXMLDocument hrefSchema="http://conv123.org/QuoteRQ.xsd"
id="QuoteRQ" />
<OutboundXMLDocument hrefSchema="http://conv123.org/QuoteRS.xsd"
id="QuoteRS" />
</Interaction>
<Interaction interactionType="ReceiveSend" id="Purchase" />
<InboundXMLDocument hrefSchema="http://conv123.org/PurchaseOrderRQ.xsd"
id="PurchaseOrderRQ" />
<OutboundXMLDocument id="PurchaseOrderAcceptedRS"
hrefSchema="http://conv123.org/PurchaseOrderAcceptedRS.xsd" />
<OutboundXMLDocument id="InvalidPaymentRS"
hrefSchema="http://conv123.org/InvalidPaymentRS.xsd" />
<OutboundXMLDocument id="OutOfStockRS"
hrefSchema="http://conv123.org/OutOfStockRS.xsd" />
</Interaction>
<Interaction interactionType="Send" id="Shipping" >
<OutboundXMLDocument id="ShippingInformation"
hrefSchema="http://conv123.org/ShippingInformation.xsd" />
</Interaction>
<Interaction interactionType="Empty" id="Start" />
<Interaction interactionType="Empty" id="End" />
</ConversationInteractions>
<ConversationTransitions>
<Transition>
<SourceInteraction href="Start"/>
<DestinationInteraction href="Login"/>
</Transition>
<Transition>
<SourceInteraction href="Start"/>
<DestinationInteraction href="Login"/>
</Transition>
<Transition>
<SourceInteraction href="Registration"/>
<DestinationInteraction href="Registration"/>
</Transition>
<Transition>
<SourceInteraction href="Login"/>
<DestinationInteraction href="Registration"/>
<SourceInteractionCondition href="InvalidLoginRS"/>
</Transition>
<Transition>
<SourceInteraction href="Login"/>
<DestinationInteraction href="Login"/>
<SourceInteractionCondition href="InvalidLoginRS"/>
</Transition>
<Transition>
<SourceInteraction href="Login"/>
<DestinationInteraction href="CatalogInquiry"/>
<SourceInteractionCondition href="ValidLoginRS"/>
</Transition>
<Transition>
<SourceInteraction href="Login"/>
<DestinationInteraction href="Quote"/>
<SourceInteractionCondition href="ValidLoginRS"/>
</Transition>
<Transition>
<SourceInteraction href="Login"/>
<DestinationInteraction href="Purchase"/>
<SourceInteractionCondition href="ValidLoginRS"/>
</Transition>
<Transition>
<SourceInteraction href="CatalogInquiry"/>
<DestinationInteraction href="CatalogInquiry"/>
</Transition>
<Transition>
<SourceInteraction href="CatalogInquiry"/>
<DestinationInteraction href="Quote"/>
</Transition>
<Transition>
<SourceInteraction href="Quote"/>
<DestinationInteraction href="CatalogInquiry"/>
</Transition>
<Transition>
<SourceInteraction href="Quote"/>
<DestinationInteraction href="Purchase"/>
</Transition>
<Transition>
<SourceInteraction href="Purchase"/>
<DestinationInteraction href="Purchase"/>
<SourceInteractionCondition href="InvalidPaymentRS"/>
</Transition>
<Transition>
<SourceInteraction href="Purchase"/>
<DestinationInteraction href="Shipping"/>
<SourceInteractionCondition href="PurchaseAcceptedRS"/>
</Transition>
<Transition>
<SourceInteraction href="Shipping"/>
<DestinationInteraction href="End"/>
</Transition>
<Transition>
<SourceInteraction href="Purchase"/>
<DestinationInteraction href="End"/>
<SourceInteractionCondition href="InvalidPaymentRS"/>
</Transition>
<Transition>
<SourceInteraction href="Purchase"/>
<DestinationInteraction href="End"/>
<SourceInteractionCondition href="OutOfStockRS"/>
</Transition>
<Transition>
<SourceInteraction href="Quote"/>
<DestinationInteraction href="Logout"/>
</Transition>
<Transition>
<SourceInteraction href="CatalogInquiry"/>
<DestinationInteraction href="Logout"/>
</Transition>
<Transition>
<SourceInteraction href="Logout"/>
<DestinationInteraction href="End"/>
</Transition>
</ConversationTransitions>
</Conversation>

Prepared by Robin Cover for The XML Cover Pages archive. See: "Web Services Conversation Language (WSCL)."


Globe Image

Document URL: http://xml.coverpages.org/HP-WSCL-Schema.html