- From: Ramkumar Menon <ramkumar.menon@gmail.com>
- Date: Wed, 21 Feb 2007 10:13:19 -0800
- To: www-ws-desc@w3.org
- Message-ID: <22bb8a4e0702211013x482eb2ffu1cc656407ba5cfeb@mail.gmail.com>
Hi All,
Just a few modifications to the XSD snippet I had sent earlier.
I am attaching the "InterfaceType" complex type definition inline with the
updated unique identitity constraints [messageRefMLabel and faultRefMLabel].
I have verified this constraint with test cases.
<xs:complexType name="InterfaceType" mixed="false">
<xs:complexContent mixed="false">
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="operation" type="wsdl:InterfaceOperationType">
<xs:unique name="messageRefMLabel">
<xs:selector xpath="./wsdl:input|./wsdl:output"/>
<xs:field xpath="@messageLabel"/>
</xs:unique>
<xs:unique name="faultRefMLabel">
<xs:selector xpath="./wsdl:infault|./wsdl:outfault"/>
<xs:field xpath="@messageLabel"/>
</xs:unique>
</xs:element>
<xs:element name="fault" type="wsdl:InterfaceFaultType"/>
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax"/>
</xs:choice>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="extends" use="optional">
<xs:simpleType>
<xs:list itemType="xs:QName"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="styleDefault" use="optional">
<xs:simpleType>
<xs:list itemType="xs:anyURI"/>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
rgds,
Ram
On 2/15/07, Ramkumar Menon <ramkumar.menon@gmail.com> wrote:
>
> Hi Gurus,
>
> The mentioned assertion states "For each Interface Message Reference
> component in the {interface message references} property of an Interface
> Operation component, its {message label} property MUST be unique.".
>
> Correct me if I am wrong, but can we have the XSD capture this constraint
> explicitly ?
>
> For instance,
>
> <xs:element name="operation" type="wsdl:BindingOperationType">
> <xs:unique name="messageLabel">
> <xs:selector
> xpath="(wsdl:input|wsdl:output:wsdl:infault|wsdl:outfault)">
> <xs:field xpath="@messageLabel">
> </xs:selectpr>
> </xs:unique>
> </xs:element>
>
> rgds,
> Ram
> --
> Shift to the left, shift to the right!
> Pop up, push down, byte, byte, byte!
>
> -Ramkumar Menon
> A typical Macroprocessor
>
--
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
-Ramkumar Menon
A typical Macroprocessor
Received on Wednesday, 21 February 2007 18:13:30 UTC