HP Service Framework Specification Schemas
From the HP Service Framework Specification, Part I, Version 2.0 URL: http://www.hpl.hp.com/techreports/2001/HPL-2001-138.pdf Schemas and Example Documents
From Appendix A: Schemas and Example Documents This section contains various schemas that are part of the SFS specification but that have not been put in the main text in order not to explode the main text. It also contains additional examples. XML Schema of the CDL language <?xml version="1.0" ?> <schema name="ConversationDefinition" xmlns="http://www.w3.org/1999/XMLSchema" xmlns:dt="http://www.w3.org/1999/XMLSchema-datatypes" xmlns:conv="http://www.e-speak.net/schema/conversation" targetNamespace="http://www.e-speak.net/schema/conversation" elementFormDefault="unqualified" attributeFormDefault="unqualified" > <element name="InboundXMLDocument" dt:type="conv:XMLDocumentType"/> <element name="OutboundXMLDocument" dt:type="conv:XMLDocumentType"/> <element name="InboundXMLDocuments" > <complexType> <element ref="conv:InboundXMLDocument" minOccurs="1" maxOccurs="unbounded" /> </complexType> </element> <element name="OutboundXMLDocuments" > <complexType> <element ref="conv:OutboundXMLDocument" minOccurs="1" maxOccurs="unbounded"/> </complexType> </element> <group name="ReceiveSendDocumentGroup"> <sequence> <element ref="conv:InboundXMLDocuments" minOccurs="1" maxOccurs="1"/> <element ref="conv:OutboundXMLDocuments" minOccurs="1" maxOccurs="1"/> </sequence> </group> <group name="SendReceiveDocumentGroup"> <sequence> <element ref="conv:OutboundXMLDocuments" minOccurs="1" maxOccurs="1"/> <element ref="conv:InboundXMLDocuments" minOccurs="1" maxOccurs="1"/> </sequence> </group> <group name="ReceiveDocumentGroup"> <sequence> <element ref="conv:OutboundXMLDocuments" minOccurs="1" maxOccurs="1"/> </sequence> </group> <group name="SendDocumentGroup"> <sequence> <element ref="conv:InboundXMLDocuments" minOccurs="1" maxOccurs="1"/> </sequence> </group> <element name="Interaction" > <complexType> <attribute name = "id" type="dt:ID" required="yes" use="required" /> <attribute name = "initialStep" type="dt:boolean" required="yes"/> <attribute ref="conv:interactionType" required="yes" use="required" /> <choice> <group ref="conv:ReceiveSendDocumentGroup" /> <group ref="conv:SendReceiveDocumentGroup" /> <group ref="conv:ReceiveDocumentGroup" /> <group ref="conv:SendDocumentGroup" /> </choice> </complexType> </element> <element name="Transition" > <complexType name="TransitionType"> <attribute name = "transitionType" use="default" value="Basic"> <simpleType base="dt:string"> <dt:enumeration value="Basic"/> <dt:enumeration value="Default"/> <dt:enumeration value="Exception"/> </simpleType> </attribute> <element ref="conv:SourceInteraction" minOccurs="1" maxOccurs="1"/> <element ref="conv:DestinationInteraction" minOccurs="1" maxOccurs="1"/> <element ref="conv:TriggeringDocument" minOccurs="0" maxOccurs="1"/> </complexType> </element> <element name="Conversation" > <complexType> <attribute name = "name" dt:type="dt:string" required="yes" use="required" /> <attribute name = "initialInteraction" dt:type="dt:IDREF" required="yes" use="required" /> <element ref="conv:ConversationInteractions" minOccurs="1" maxOccurs="1"/> <element ref="conv:ConversationTransitions" minOccurs="1" maxOccurs="1" required="yes"/> </complexType> </element> <element name="ConversationInteractions" > <complexType> <element ref="conv:Interaction" minOccurs="1" maxOccurs="unbounded"/> </complexType> </element> <element name="ConversationTransitions" > <complexType> <element ref="conv:Transition" minOccurs="1" maxOccurs="unbounded"/> </complexType> </element> <element name="SourceInteraction" > <complexType dt:content="empty" > <attribute name = "href" dt:type="dt:IDREF" use="required" /> </complexType> </element> <element name="DestinationInteraction" > <complexType dt:content="empty" > <attribute name = "href" dt:type="dt:IDREF" use="required" /> </complexType> </element> <element name="TriggeringDocument" > <complexType dt:content="empty" > <attribute name = "href" dt:type="dt:IDREF" use="required" /> </complexType> </element> <attribute name="interactionType" required="yes" use="required" > <simpleType base="dt:string"> <enumeration value="SendReceive"/> <enumeration value="ReceiveSend"/> <enumeration value="Receive"/> <enumeration value="Send"/> </simpleType> </attribute> <complexType name="XMLDocumentType"> <attribute name = "id" dt:type="dt:ID" required="yes" use="required" /> <attribute name = "hrefSchema" dt:type="dt:uriReference" required="no" use="optional" /> </complexType> </schema> Schema of the Service Descriptor document <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="quali-fied"> <element name="AccessPoint"> <complexType> <attribute name="urlType" type="string" use="required"/> </complexType> </element> <element name="AuthInfo"> <complexType/> </element> <element name="BindingTemplate"> <complexType> <sequence> <element ref="AccessPoint"/> <element ref="tModelInstanceDetails"/> </sequence> </complexType> </element> <element name="BindingTemplates"> <complexType> <element ref="BindingTemplate"/> </complexType> </element> <element name="BusinessService"> <complexType> <sequence> <element ref="Name"/> <element ref="Description"/> <element ref="BindingTemplates"/> <element ref="CategoryBag"/> </sequence> <attribute name="serviceKey" type="string" use="required"/> <attribute name="businessKey" type="string" use="required"/> </complexType> </element> <element name="CategoryBag"> <complexType> <element ref="KeyedReference"/> </complexType> </element> <element name="ConversationDefinition"> <complexType> <attribute name="id" type="string" use="required"/> <attribute name="href" type="string" use="required"/> </complexType> </element> <element name="ConversationDefinitions"> <complexType> <element ref="ConversationDefinition" maxOccurs="unbounded"/> </complexType> </element> <element name="ConversationProcessMap"> <complexType> <element ref="Map"/> </complexType> </element> <element name="Description"> <complexType/> </element> <element name="KeyedReference"> <complexType> <attribute name="tModelKey" type="string" use="required"/> <attribute name="keyName" type="string" use="required"/> <attribute name="keyValue" type="string" use="required"/> </complexType> </element> <element name="Map"> <complexType> <attribute name="conversation" type="string" use="required"/> <attribute name="process" type="string" use="required"/> </complexType> </element> <element name="Name"> <complexType/> </element> <element name="ProcessDefinition"> <complexType> <attribute name="id" type="string" use="required"/> <attribute name="href" type="uriReference" use="required"/> </complexType> </element> <element name="ProcessDefinitions"> <complexType> <element ref="ProcessDefinition" maxOccurs="unbounded"/> </complexType> </element> <element name="ServiceDescriptor"> <complexType> <sequence> <element ref="ServiceProperty"/> <element ref="ServiceVariable"/> <element ref="ConversationDefinitions"/> <element ref="ProcessDefinitions"/> <element ref="ConversationProcessMap"/> </sequence> </complexType> </element> <element name="ServiceProperty"> <complexType> <sequence> <element ref="AuthInfo"/> <element ref="BusinessService"/> </sequence> </complexType> </element> <element name="ServiceURI"> <complexType/> </element> <element name="ServiceURL"> <complexType/> </element> <element name="ServiceVariable"> <complexType> <sequence> <element ref="ServiceURL"/> <element ref="ServiceURI"/> </sequence> </complexType> </element> <element name="tModelInstanceDetails"> <complexType> <element ref="tModelInstanceInfo"/> </complexType> </element> <element name="tModelInstanceInfo"> <complexType> <sequence> <element ref="Description"/> <element ref="ConversationDefinition"/> </sequence> <attribute name="tModelKey" type="string" use="required"/> <attribute name="lang" type="string" use="required"/> </complexType> </element> </schema>
Prepared by Robin Cover for The XML Cover Pages archive. See: "Web Services Conversation Language (WSCL)."