[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Do we really need a separate schema for soap 1.1 and soap 1.2
Based on a comment from Chris Ferris at the OASIS symposium, I would like us to discuss the need for a separate schema for soap 1.1 and soap 1.2. Currently we have two schemas, each with their own namespace with only the following differences: soap 1.1 schema has: " ... <xsd:schema targetNamespace="http://www.oasis-open.org/committees/wsrm/schema/1.1/SOAP1.1" xmlns:wsrm="http://www.oasis-open.org/committees/wsrm/schema/1.1/SOAP1.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.62"> <xsd:import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="http://schemas.xmlsoap.org/soap/envelope"/> <!-- 4WSRM Headers --> <xsd:element name="Request" type="wsrm:RequestType"/> <xsd:element name="Response" type="wsrm:ResponseType"/> <xsd:element name="PollRequest" type="wsrm:PollRequestType"/> <!-- Describe the BaseTypes --> <xsd:complexType name="HeaderBaseType"> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute ref="soap11:mustUnderstand" use="required" fixed="1"/> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> ... " While the soap 1.2 schema is (only difference is soap 1.2 instead of soap 1.1: " ... <xsd:schema targetNamespace="http://www.oasis-open.org/committees/wsrm/schema/1.1/SOAP1.2" xmlns:wsrm="http://www.oasis-open.org/committees/wsrm/schema/1.1/SOAP1.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.62b"> <xsd:import namespace="http://www.w3.org/2003/05/soap-envelope" schemaLocation="http://www.w3.org/2003/05/soap-envelope"/> <!-- 4WSRM Headers --> <xsd:element name="Request" type="wsrm:RequestType"/> <xsd:element name="Response" type="wsrm:ResponseType"/> <xsd:element name="PollRequest" type="wsrm:PollRequestType"/> <!-- Describe the BaseTypes --> <xsd:complexType name="HeaderBaseType"> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute ref="soap12:mustUnderstand" use="required" fixed="1"/> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> ... " - We did this so the soap must undersdand attribute presence and value can be schema validated. However this gives us two schemas and two namespaces to maintain ad infinitum. If we were willing to rely on the extension allowing additional attributes in HeaderBaseType for carrying the soap must understand attribute for the proper soap version being used, we could have one schema: " ... <xsd:schema targetNamespace="http://www.oasis-open.org/committees/wsrm/schema/1.1/" xmlns:wsrm="http://www.oasis-open.org/committees/wsrm/schema/1.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.62b"> <!-- 4WSRM Headers --> <xsd:element name="Request" type="wsrm:RequestType"/> <xsd:element name="Response" type="wsrm:ResponseType"/> <xsd:element name="PollRequest" type="wsrm:PollRequestType"/> <!-- Describe the BaseTypes --> <xsd:complexType name="HeaderBaseType"> <xsd:sequence> <!--mustUnderstand attribute for soap version used must be present with value = 1 --> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute ref="soap12:mustUnderstand" use="required" fixed="1"/> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> .. " And we would have to add the following text to the spec: When soap 1.1 is used, the soap1.1 mustUnderstand attribute MUST be present with value 1. When Soap 1.2 is used, the soap1.2 mustUnderstand attribute MUST be present with value 1. - ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]