Updated Component Model Interchange Format Updates

As per my action items I have moved {parent}, {feautures} and {properties} 
into the base namespace and created wrapper elements for all extensions.

The extension wrappers are all optional. Their occurence in the document 
is determined by the extensions supported and the document content. I have 
specified the occurence rules in the documentation for each wrapper. For 
example, the RPC signature wrapper occurs when the RPC extension is 
supported AND the {syle} of the operation is RPC.

Here, e.g., is what InterfaceOperation now looks like:

        <xs:complexType name="InterfaceOperationComponent">
                <xs:annotation>
                        <xs:documentation>
                                The key of Interface Operation is (name).
                        </xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:restriction base="cmbase:Component">
                                <xs:sequence>
                                        <xs:element name="name" type=
"cmbase:QName" />
                                        <xs:element name=
"messageExchangePattern"
                                                type="xs:anyURI" />
                                        <xs:element name=
"interfaceMessageReferences"
                                                type=
"InterfaceMessageReferenceComponents" minOccurs="0" />
                                        <xs:element name=
"interfaceFaultReferences"
                                                type=
"InterfaceFaultReferenceComponents" minOccurs="0" />
                                        <xs:element name="style" type=
"cmbase:Uris"
                                                minOccurs="0" />
                                        <xs:element ref="cmbase:features" 
minOccurs="0" />
                                        <xs:element ref=
"cmbase:properties" minOccurs="0" />
                                        <xs:element ref="cmbase:parent" />
                                        <xs:element
                                                ref=
"cmextensions:wsdlInterfaceOperationExtension"
                                                minOccurs="0">
                                                <xs:annotation>
                                                        <xs:documentation>
                                                                MUST occur 
if the wsdlx extension is
                                                                supported.
                                                        </xs:documentation
>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element
                                                ref=
"cmrpc:rpcInterfaceOperationExtension" minOccurs="0">
                                                <xs:annotation>
                                                        <xs:documentation>
                                                                MUST occur 
if the rpc extension is
                                                                supported 
AND the {style} property of
                                                                the 
Interface Operation component
                                                                contains
 http://www.w3.org/2006/01/wsdl/style/rpc.
                                                        </xs:documentation
>
                                                </xs:annotation>
                                        </xs:element>

                                </xs:sequence>
                        </xs:restriction>
                </xs:complexContent>
        </xs:complexType>


To allow for automatic checking of the occurence rules, I have added an 
<extensions> element to the format. This contains a sorted list of the 
supported extension URIs. I have proposed to add this to the Description 
component elsewhere [1].

        <xs:complexType name="DescriptionComponent">
                <xs:complexContent>
                        <xs:restriction base="cmbase:Component">
                                <xs:sequence>
                                        <xs:element name="extensions" type
="cmbase:Uris"
                                                minOccurs="0">
                                                <xs:annotation>
                                                        <xs:documentation>
                                                                The set of 
supported extensions.
                                                        </xs:documentation
>
                                                </xs:annotation>
                                        </xs:element>

[1] http://lists.w3.org/Archives/Public/www-ws-desc/2006Jun/0034.html

Arthur Ryman,
IBM Software Group, Rational Division

blog: http://ryman.eclipsedevelopersjournal.com/
phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca

Received on Saturday, 10 June 2006 20:32:59 UTC