modelReference as a set instead of a list.

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
restriction:

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

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
interface.
]]
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
-- 
-eric

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

(eric@w3.org)
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