- From: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Date: Wed, 21 Jul 2004 14:39:50 -0700
- To: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Cc: WS Description List <www-ws-desc@w3.org>
An addendum to the proposal. There is one more issue: (e) In the syntax for the property component, we require exactly one of the <constraint/> and <value/> EIIs to appear among the [children] of <property/>. This prevents using a different type system to specify a property's value or constraints. The proposed fix is: (5) Make both <constraint/> and <value/> optional. Roberto Roberto Chinnici wrote: > It occurred to me that the definition of the Property component [1] in > Part 1 > ties it pretty strongly to XML Schema as well as an infoset-based view of > the world. Since the general trend has been to remove such dependencies and > allow more general type systems to be used, it behooves the WG to fix this > anomaly. > > The Property component contains, among others, the following two > properties: > > - {value constraint} REQUIRED. A type definition constraining the value > of the property. > - {value} OPTIONAL. The value of the property. > > I see (at least) three issues raised by those two lines: > > (a) This is the only reference to a "type definition" (component?) as a > value > of a property. In the corresponding mapping section (2.8.3), the spec talks > about "the type referred to by the value of the constraint EII", but there > is no definition of a {type definitions} property on the Definitions > component > to parallel {element declarations}. > > (b) The definition of the optional {value} property doesn't mention its > type. > Is it integers, element information items, toy soldiers or omelettes? > (In case > you're in doubt, it's the second alternative, EIIs.) > > (c) Since the {value constraint} property is required, the Property > component > is effectively tied to XML Schema, i.e. if somebody were to define a > property > whose values range over something other than element information items, > they > would still need to specify a (presumably bogus) type declaration as the > value of this property. > > Additionally, > > (d) In section 2.8.3, the mapping for {value constraint} maps a value, > specified using the <value>...</value> syntax to "an anonymous type, > whose base type is xs:anyType, with a single enumeration facet whose > value is the type of the value of the value AII". This doesn't work > any more, since the WG decided to allow complex property values and > there is no concept of enumerations, or facets for that matter, in > complex type definitions. > > Here's a proposal, addressing issues (a)-(d) in order: > > (1) Add a {type definitions} property to the Definitions component and > spell > out the rules on how to populate it, just as we do for {element > declarations}. > > (2) Specify that the type of the {value} property is an element information > item per the XML Infoset spec. > > (3) Make the {value constraint} property optional and add text saying that > if a type system not based on the XML infoset is in use, then additional > properties need to be added to the Property component to associate such > types with the constraint of a property; similarly for the property value. > (This text would be analogous to that employed by the description of > the Message Reference component in section 2.5.1). > > (4) Get rid of the offending mapping rule: if a value is specified, > then it's used to fill in the {value} property and the {value > constraint} property is set to a unique value (a token), e.g. #value. > This is analogous to the use of #empty and #any tokens in the Message > Reference component. > > Roberto > > [1] > http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html%3B0charset=utf-8#Property
Received on Wednesday, 21 July 2004 17:37:44 UTC