- From: Ramkumar Menon <ramkumar.menon@gmail.com>
- Date: Fri, 16 Feb 2007 16:56:45 -0800
- To: www-ws-desc@w3.org
- Message-ID: <22bb8a4e0702161656y65533d7cx78a638230938196@mail.gmail.com>
Gurus, I have a few questions on the WSDL 2.0 xsd. I observe that at several places within the XSD, I see explicit mention of attributes with their default values. Is there a special reason for doing it this way ? For instance, a) Elements that carry explicit minOccurs="1" and/or maxOccurs="1" attributes. For instance, observe the "any" element within the definition of MessageRefFaultType. <xs:complexType name="MessageRefFaultType" mixed="false"> <xs:complexContent> <xs:extension base="wsdl:ExtensibleDocumentedType"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1" /> </xs:choice> <xs:attribute name="ref" type="xs:QName" use="required" /> <xs:attribute name="messageLabel" type="xs:NCName" use="optional" /> </xs:extension> </xs:complexContent> </xs:complexType> Similarly, the minOccurs="1" on the <choice> within the "ServiceType" definition. [inlined below] <xs:complexType name="ServiceType" mixed="false"> <xs:complexContent> <xs:extension base="wsdl:ExtensibleDocumentedType"> <xs:choice minOccurs="1" maxOccurs="unbounded"> <!---- you can see the minOccurs attribute here --> <xs:element ref="wsdl:endpoint" /> <xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1" /> </xs:choice> <xs:attribute name="name" type="xs:NCName" use="required" /> <xs:attribute name="interface" type="xs:QName" use="required" /> </xs:extension> </xs:complexContent> </xs:complexType> b) Explicit usage of the attribute mixed="false" on the complex types defined in the XSD. For e.g., <xs:complexType name="ImportType" mixed="false"> <xs:complexContent> <xs:extension base="wsdl:ExtensibleDocumentedType"> <xs:sequence> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" /> </xs:sequence> <xs:attribute name="namespace" type="xs:anyURI" use="required" /> <xs:attribute name="location" type="xs:anyURI" use="optional" /> </xs:extension> </xs:complexContent> </xs:complexType> c) Explicit usage of processContents="strict" . For e.g. <xs:complexContent> <xs:extension base="wsdl:ExtensibleDocumentedType"> <xs:sequence> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict" /> </xs:sequence> <xs:attribute name="namespace" type="xs:anyURI" use="required" /> <xs:attribute name="location" type="xs:anyURI" use="optional" /> </xs:extension> </xs:complexContent> </xs:complexType> rgds, Ram -- Shift to the left, shift to the right! Pop up, push down, byte, byte, byte! -Ramkumar Menon A typical Macroprocessor
Received on Saturday, 17 February 2007 00:56:55 UTC