W3C home > Mailing lists > Public > public-ws-semann@w3.org > August 2006

modelReference as a set instead of a list.

From: Eric Prud'hommeaux <eric@w3.org>
Date: Wed, 23 Aug 2006 13:55:02 +0200
To: public-ws-semann@w3.org
Message-ID: <20060823115502.GA24848@w3.org>

Section 2.1 SAWSDL Model Reference [MR] says that the value of the
{model reference} property is an ordered list (xs:list) of URIs
(xs:anyURI). The following descriptive text supports this:,
The value of the attribute is a list of one or more URIs...
however, it implies that we preserve order and duplicates in the
list. The semantics of a model reference could then depend on all the
others around it in the list, including duplicates of the same model
reference. As an example:

  <.../Orders#>: Provides a 8032.59 order interface, unless it follows
  <.../RestAreQueries#> model reference, in which case, this provides
  an 8032.60 order query interface.
so that modelReference="<.../RestAreQueries#> <.../Orders#>" would
behave differently than modelReference="<.../Orders#>".

I think this use case is of little value, and that the semantics of
"All apply" are much easier if all apply in isolation so I propose we
change "list" to "set" in the descriptive text. Also, if we want to
have "one or more" enforced at the schema level, we can add a

<xs:simpleType name="listOfAnyURI">
        <xs:list itemType="xs:anyURI"/>
      <xs:minLength value="1"/>

as lists default to a minLength of 0 [LS]

Note: sets also make the semantics of interface extensions [IF]:
When an interface is defined by extension of one or more interfaces,
the model references of the extended interfaces all apply to the new
better defined as the union of two sets is well-defined.

I also suspect this is what everyone already had in mind.

[MR] http://www.w3.org/2002/ws/sawsdl/spec/#modelReference
[IF] http://www.w3.org/2002/ws/sawsdl/spec/#AnnotatingInterfaces
[LS] http://www.w3.org/TR/xmlschema-2/#atomic-vs-list

home-office: +1.617.395.1213 (usually 900-2300 CET)
cell:       +

Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Wednesday, 23 August 2006 11:53:47 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:58:46 UTC