W3C home > Mailing lists > Public > www-ws-desc@w3.org > February 2005

RE: First Class Header Proposals

From: Asir Vedamuthu <asirv@webmethods.com>
Date: Thu, 17 Feb 2005 07:40:54 -0800
Message-ID: <5B10E50E14A4594EB1B5566B69AD9407068E6A5D@maileast>
To: 'Hugo Haas' <hugo@w3.org>, Asir Vedamuthu <asirv@webmethods.com>
Cc: "'www-ws-desc@w3.org'" <www-ws-desc@w3.org>

> I don't understand the purpose of @required either; with your
> element/type declaration, couldn't you express this with minOccurs?

In B, a complex type def is used. required/optional/repeatable is expressed
via minOccurs, maxOccurs in XML Schema.

In A, global element declarations are used. XML Schema does not allow
minOccurs or maxOccurs on top level element declarations (see fragment
below, from schema for schemas). So, I added @required.

> why do we need a mechanism to disable header generation?

This is possible in status quo [2]. I didn't want to drift away from status
quo. I am more than happy to see it go. Makes it simple :-) BTW, this is
recorded as a sub-issue.

[1] http://www.w3.org/TR/xmlschema-1/structures.html#normative-schemaSchema
[2] http://lists.w3.org/Archives/Public/www-ws-desc/2005Feb/0018.html

Regards,
Asir S Vedamuthu
asirv at webmethods dot com
http://www.webmethods.com/

Fragment from Schema for Schemas --
<xs:complexType name="topLevelElement">
 <xs:complexContent>
  <xs:restriction base="xs:element">
    <xs:sequence>
     <xs:element ref="xs:annotation" minOccurs="0"/>
     <xs:choice minOccurs="0">
      <xs:element name="simpleType" type="xs:localSimpleType"/>
      <xs:element name="complexType" type="xs:localComplexType"/>
     </xs:choice>
     <xs:group ref="xs:identityConstraint" minOccurs="0"
       maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="ref" use="prohibited"/>
    <xs:attribute name="form" use="prohibited"/>
    <xs:attribute name="minOccurs" use="prohibited"/>
    <xs:attribute name="maxOccurs" use="prohibited"/>
    <xs:attribute name="name" type="xs:NCName" use="required"/>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:restriction>
 </xs:complexContent>
</xs:complexType>

-----Original Message-----
From: Hugo Haas [mailto:hugo@w3.org] 
Sent: Thursday, February 17, 2005 10:03 AM
To: Asir Vedamuthu
Cc: 'www-ws-desc@w3.org'
Subject: Re: First Class Header Proposals


Hi Asir.

* Asir Vedamuthu <asirv@webmethods.com> [2005-02-07 05:01-0800]
> Attached docs are two variations of the First Class Header Proposal - A
and
> B. There is one principal difference between these two proposals: A uses a
> set of element declarations and B uses a complex type definition to
describe
> headers.
> 
> Hope, these docs, SOAP Header Blocks in WSDL [1] proposal, Headers
Proposal
> V1.2 [2], and other AD feature issues [3][4] provide sufficient info to
act
> on LC76d [5].

A couple of questions about the requiredness of the headers:

- why do we need a mechanism to disable header generation? It seems to
  me that either the binding supports headers, and then you should use
  them if you need to, or it doesn't, and then that's it. Why would
  one want to disable header generation for a particular binding?

- I don't understand the purpose of @required either; with your
  element/type declaration, couldn't you express this with minOccurs?

Cheers,

Hugo

-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/
Received on Thursday, 17 February 2005 15:41:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:35 GMT