[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: FW: [ebms-v3 svn] r31 - trunk
Team, I have checked in an initial refactor of the 3.0 schema. It is by no means complete. However, I have reorganized it and have included the PayloadInfo element and its children. As far as the spec goes, I am still quite a bit behind on updating it. I have been reworking sections and have hit some stumbling blocks. First and foremost I have been somewhat derailed by studying the WS-Context spec. I know that at past F-2-F meetings we have discussed using WS-Context within our protocol. I put off looking at the WS-Context spec until now, since Doug suggested waiting until a more stable draft was available. I read the Committee draft version 3.0 dated June 17, 2004, and I have many questions regarding its potential use. So I would like to propose that we discuss WS-Context on today's call. As for the other sections of the spec, I hope to check in my intial draft of the ReliableMessaging section by the end of the day today. As for the Security section, I probably won't complete the initial draft until the end of the week. Again, I apologize for the delay. Cheers! Jeff Turpin -----Original Message----- From: matt@mac-kenzie.net [mailto:matt@mac-kenzie.net] Sent: Wednesday, July 07, 2004 8:30 AM To: mattm@adobe.com; Jeff Turpin Subject: [ebms-v3 svn] r31 - trunk Author: jeff Date: 2004-07-07 11:29:33 -0400 (Wed, 07 Jul 2004) New Revision: 31 Modified: trunk/schema.xsd Log: Initial revision of 3.0 schema Modified: trunk/schema.xsd =================================================================== --- trunk/schema.xsd 2004-06-17 17:01:19 UTC (rev 30) +++ trunk/schema.xsd 2004-07-07 15:29:33 UTC (rev 31) @@ -1,268 +1,264 @@ <?xml version="1.0" encoding="UTF-8"?> - <!-- Some parsers may require explicit declaration of xmlns:xml="http://www.w3.org/XML/1998/namespace". In that case, a copy of this schema augmented with the above declaration should be cached and used for the purpose of schema validation on ebXML messages. --> -<schema targetNamespace="http://www.oasis-open.org/committees/ebxml-msg/schema/m sg-header-2_0.xsd" xmlns:tns="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-hea der-2_0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w - - - - -3.org/1999/xlink" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.0"> - <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xs d" /> - <import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.oasis-open.org/committees/ebxml-msg/schema/xl ink.xsd" /> - <import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="http://www.oasis-open.org/committees/ebxml-msg/schema/en velope.xsd" /> - <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd" /> -<!-- MANIFEST, for use in soap:Body element --> - <element name="Manifest"> +<schema targetNamespace="http://www.oasis-open.org/committees/ebxml-msg/schema/m sg-header-3_0.xsd" xmlns:tns="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-hea der-3_0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.0"> + <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> + <import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec urity-utility-1.0.xsd" schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd"/> + <import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec urity-secext-1.0.xsd" schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-secext-1.0.xsd"/> + <complexType name="HeaderBaseType"> + <sequence> + <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attributeGroup ref="tns:headerExtension.grp"/> + </complexType> + <complexType name="MessageHeaderType"> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:From"/> + <element ref="tns:To"/> + <element ref="tns:CPAId"/> + <element ref="tns:ConversationId"/> + <element ref="tns:Service"/> + <element ref="tns:Action"/> + <element ref="tns:MessageData"/> + <element ref="tns:Description" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> + </complexType> + <element name="To"> <complexType> <sequence> - <element ref="tns:Reference" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> + <element ref="tns:PartyId" maxOccurs="unbounded"/> + <element name="Role" type="tns:non-empty-string" minOccurs="0"/> </sequence> - <attributeGroup ref="tns:bodyExtension.grp" /> </complexType> </element> - <element name="Reference"> + <element name="From"> <complexType> <sequence> - <element ref="tns:Schema" minOccurs="0" maxOccurs="unbounded" /> - <element ref="tns:Description" minOccurs="0" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> + <element ref="tns:PartyId" maxOccurs="unbounded"/> + <element name="Role" type="tns:non-empty-string" minOccurs="0"/> </sequence> - <attribute ref="tns:id" /> - <attribute ref="xlink:type" fixed="simple" /> - <attribute ref="xlink:href" use="required" /> - <attribute ref="xlink:role" /> - <anyAttribute namespace="##other" processContents="lax" /> </complexType> </element> - <element name="Schema"> + + <!-- PayloadInfo, for use in soap:Header element --> + <element name="PayloadInfo"> <complexType> - <attribute name="location" type="anyURI" use="required" /> - <attribute name="version" type="tns:non-empty-string" /> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:Payload" maxOccurs="unbounded"/> + </sequence> + </extension> + </complexContent> </complexType> </element> -<!-- MESSAGEHEADER, for use in soap:Header element --> - <element name="MessageHeader"> + <element name="Payload"> <complexType> - <sequence> - <element ref="tns:From" /> - <element ref="tns:To" /> - <element ref="tns:CPAId" /> - <element ref="tns:ConversationId" /> - <element ref="tns:Service" /> - <element ref="tns:Action" /> - <element ref="tns:MessageData" /> - <element ref="tns:DuplicateElimination" minOccurs="0" /> - <element ref="tns:Description" minOccurs="0" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attributeGroup ref="tns:headerExtension.grp" /> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:Schema" minOccurs="0" maxOccurs="unbounded"/> + <element ref="tns:Description" minOccurs="0" maxOccurs="unbounded"/> + <element ref="tns:Processing" minOccurs="0" maxOccurs="1"/> + </sequence> + <attribute ref="tns:payloadRef" use="required"/> + </extension> + </complexContent> </complexType> </element> - <element name="CPAId" type="tns:non-empty-string" /> - <element name="ConversationId" type="tns:non-empty-string" /> - <element name="Service"> + <element name="Schema"> <complexType> - <simpleContent> - <extension base="tns:non-empty-string"> - <attribute name="type" type="tns:non-empty-string" /> + <attribute ref="tns:location" use="required"/> + <attribute ref="tns:version"/> + </complexType> + </element> + <element name="Processing"> + <complexType> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:Step" minOccurs="0" maxOccurs="unbounded"/> + </sequence> </extension> - </simpleContent> + </complexContent> </complexType> </element> - <element name="Action" type="tns:non-empty-string" /> - <element name="MessageData"> + <element name="Step"> <complexType> - <sequence> - <element ref="tns:MessageId" /> - <element ref="tns:Timestamp" /> - <element ref="tns:RefToMessageId" minOccurs="0" /> - <element ref="tns:TimeToLive" minOccurs="0" /> - </sequence> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:Parameter" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute ref="tns:sequence" use="required"/> + <attribute ref="tns:service" use="required"/> + </extension> + </complexContent> </complexType> </element> - <element name="MessageId" type="tns:non-empty-string" /> - <element name="TimeToLive" type="dateTime" /> - <element name="DuplicateElimination"> - </element> -<!-- SYNC REPLY, for use in soap:Header element --> - <element name="SyncReply"> + <element name="Parameter"> <complexType> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attributeGroup ref="tns:headerExtension.grp" /> - <attribute ref="soap:actor" use="required" /> + <attribute ref="tns:name" use="required"/> + <attribute ref="tns:value" use="required"/> </complexType> </element> -<!-- MESSAGE ORDER, for use in soap:Header element --> - <element name="MessageOrder"> + + <!-- MESSAGEHEADER, for use in soap:Header element --> + <element name="MessageHeader" type="tns:MessageHeaderType"/> + <element name="CPAId" type="tns:non-empty-string"/> + <element name="ConversationId" type="tns:non-empty-string"/> + <element name="Service"> <complexType> - <sequence> - <element ref="tns:SequenceNumber" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attributeGroup ref="tns:headerExtension.grp" /> + <simpleContent> + <extension base="tns:non-empty-string"> + <attribute name="type" type="tns:non-empty-string"/> + </extension> + </simpleContent> </complexType> </element> - <element name="SequenceNumber" type="tns:sequenceNumber.type" /> -<!-- ACK REQUESTED, for use in soap:Header element --> - <element name="AckRequested"> + <element name="Action" type="tns:non-empty-string"/> + <element name="MessageData"> <complexType> <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> + <element ref="tns:MessageId"/> + <element ref="tns:Timestamp"/> + <element ref="tns:RefToMessageId" minOccurs="0"/> </sequence> - <attributeGroup ref="tns:headerExtension.grp" /> - <attribute ref="soap:actor" /> - <attribute name="signed" type="boolean" use="required" /> </complexType> </element> -<!-- ACKNOWLEDGMENT, for use in soap:Header element --> - <element name="Acknowledgment"> + <element name="MessageId" type="tns:non-empty-string"/> + <!-- SYNC REPLY, for use in soap:Header element --> + <element name="SyncReply"> <complexType> - <sequence> - <element ref="tns:Timestamp" /> - <element ref="tns:RefToMessageId" /> - <element ref="tns:From" minOccurs="0" /> - <element ref="ds:Reference" minOccurs="0" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attributeGroup ref="tns:headerExtension.grp" /> - <attribute ref="soap:actor" /> + <complexContent> + <extension base="tns:HeaderBaseType"/> + </complexContent> </complexType> </element> -<!-- ERROR LIST, for use in soap:Header element --> + <!-- ERROR LIST, for use in soap:Header element --> <element name="ErrorList"> <complexType> - <sequence> - <element ref="tns:Error" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attributeGroup ref="tns:headerExtension.grp" /> - <attribute name="highestSeverity" type="tns:severity.type" use="required" /> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:Error" maxOccurs="unbounded"/> + </sequence> + <attribute name="highestSeverity" type="tns:severity.type" use="required"/> + </extension> + </complexContent> </complexType> </element> <element name="Error"> <complexType> - <sequence> - <element ref="tns:Description" minOccurs="0" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attribute ref="tns:id" /> - <attribute name="codeContext" type="anyURI" default="urn:oasis:names:tc:ebxml-msg:service:errors" /> - <attribute name="errorCode" type="tns:non-empty-string" use="required" /> - <attribute name="severity" type="tns:severity.type" use="required" /> - <attribute name="location" type="tns:non-empty-string" /> - <anyAttribute namespace="##other" processContents="lax" /> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:Description" minOccurs="0"/> + </sequence> + <attribute name="codeContext" type="anyURI" default="urn:oasis:names:tc:ebxml-msg:service:errors"/> + <attribute name="errorCode" type="tns:non-empty-string" use="required"/> + <attribute name="severity" type="tns:severity.type" use="required"/> + <attribute name="location" type="tns:non-empty-string"/> + </extension> + </complexContent> </complexType> </element> -<!-- STATUS RESPONSE, for use in soap:Body element --> + <!-- STATUS RESPONSE, for use in soap:Header element --> <element name="StatusResponse"> <complexType> - <sequence> - <element ref="tns:RefToMessageId" /> - <element ref="tns:Timestamp" minOccurs="0" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attributeGroup ref="tns:bodyExtension.grp" /> - <attribute name="messageStatus" type="tns:messageStatus.type" use="required" /> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:RefToMessageId"/> + <element ref="tns:Timestamp" minOccurs="0"/> + </sequence> + <attribute name="messageStatus" type="tns:messageStatus.type" use="required"/> + </extension> + </complexContent> </complexType> </element> -<!-- STATUS REQUEST, for use in soap:Body element --> + <!-- STATUS REQUEST, for use in soap:Header element --> <element name="StatusRequest"> <complexType> - <sequence> - <element ref="tns:RefToMessageId" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> - </sequence> - <attributeGroup ref="tns:bodyExtension.grp" /> + <complexContent> + <extension base="tns:HeaderBaseType"> + <sequence> + <element ref="tns:RefToMessageId"/> + </sequence> + </extension> + </complexContent> </complexType> </element> -<!-- COMMON TYPES --> - <complexType name="sequenceNumber.type"> - <simpleContent> - <extension base="nonNegativeInteger"> - <attribute name="status" type="tns:status.type" default="Continue" /> - </extension> - </simpleContent> - </complexType> + <!-- COMMON TYPES --> <simpleType name="status.type"> <restriction base="NMTOKEN"> - <enumeration value="Reset" /> - <enumeration value="Continue" /> + <enumeration value="Reset"/> + <enumeration value="Continue"/> </restriction> </simpleType> <simpleType name="messageStatus.type"> <restriction base="NMTOKEN"> - <enumeration value="UnAuthorized" /> - <enumeration value="NotRecognized" /> - <enumeration value="Received" /> - <enumeration value="Processed" /> - <enumeration value="Forwarded" /> + <enumeration value="UnAuthorized"/> + <enumeration value="NotRecognized"/> + <enumeration value="Received"/> + <enumeration value="Processed"/> + <enumeration value="Forwarded"/> </restriction> </simpleType> <simpleType name="non-empty-string"> <restriction base="string"> - <minLength value="1" /> + <minLength value="1"/> </restriction> </simpleType> + <simpleType name="non-negative-integer"> + <restriction base="nonNegativeInteger"/> + </simpleType> <simpleType name="severity.type"> <restriction base="NMTOKEN"> - <enumeration value="Warning" /> - <enumeration value="Error" /> + <enumeration value="Warning"/> + <enumeration value="Error"/> </restriction> </simpleType> -<!-- COMMON ATTRIBUTES and ATTRIBUTE GROUPS --> - <attribute name="id" type="ID" /> - <attribute name="version" type="tns:non-empty-string" /> + + <!-- ATTRIBUTES and ATTRIBUTE GROUPS --> + <attribute name="id" type="ID"/> + <attribute name="version" type="tns:non-empty-string"/> <attributeGroup name="headerExtension.grp"> - <attribute ref="tns:id" /> - <attribute ref="tns:version" use="required" /> - <attribute ref="soap:mustUnderstand" use="required" /> - <anyAttribute namespace="##other" processContents="lax" /> + <attribute ref="tns:id"/> + <attribute ref="tns:version" use="required"/> + <anyAttribute namespace="##other" processContents="lax"/> </attributeGroup> - <attributeGroup name="bodyExtension.grp"> - <attribute ref="tns:id" /> - <attribute ref="tns:version" use="required" /> - <anyAttribute namespace="##other" processContents="lax" /> - </attributeGroup> -<!-- COMMON ELEMENTS --> + <attribute name="sequence" type="tns:non-negative-integer"/> + <attribute name="service" type="anyURI"/> + <attribute name="name" type="tns:non-empty-string" use="required"/> + <attribute name="value" type="tns:non-empty-string" use="required"/> + <attribute name="location" type="anyURI" use="required"/> + <attribute name="payloadRef" type="tns:non-empty-string" use="required"/> + + <!-- COMMON ELEMENTS --> <element name="PartyId"> <complexType> <simpleContent> <extension base="tns:non-empty-string"> - <attribute name="type" type="tns:non-empty-string" /> + <attribute name="type" type="tns:non-empty-string"/> </extension> </simpleContent> </complexType> </element> - <element name="To"> - <complexType> - <sequence> - <element ref="tns:PartyId" maxOccurs="unbounded" /> - <element name="Role" type="tns:non-empty-string" minOccurs="0" /> - </sequence> - </complexType> - </element> - <element name="From"> - <complexType> - <sequence> - <element ref="tns:PartyId" maxOccurs="unbounded" /> - <element name="Role" type="tns:non-empty-string" minOccurs="0" /> - </sequence> - </complexType> - </element> <element name="Description"> <complexType> <simpleContent> <extension base="tns:non-empty-string"> - <attribute ref="xml:lang" use="required" /> + <attribute ref="xml:lang" use="required"/> </extension> </simpleContent> </complexType> </element> - <element name="RefToMessageId" type="tns:non-empty-string" /> - <element name="Timestamp" type="dateTime" /> + <element name="RefToMessageId" type="tns:non-empty-string"/> + <element name="Timestamp" type="dateTime"/> </schema>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]