[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: New RMD issue: Simplification of metadataDescriptorLocation type
I would like to separate the following concern out from the discussion on
issue WSRF174 into a new issue in its own right, independent of the outcome
of WSRF174.
This relates back to the final observation in [1] that, since we now define
at most one MDD per WS-Resource, we can simplify the type of
MetadataDescriptorLocation from "list of pairs of URIs" to a single URI
that provides information on the location of the MDD. The reason there is
currently a list of pairs or URIs is so that we could (in the past)
accomodate a number of different MDDs, each of which pertains to a specific
namespace (the first URI in the pair). We have moved away from this and now
need only a single URI for the location of the single MDD.
In order to have a single, consistent story for locating the MDD, I propose
the following additions to the resolution of issue 174:
Change the definition of the wsrmd:MetadataDescriptorLocation from
"wsrmd:PairsOfURIType" to "xsd:anyURI"
Specifically, change the schema from this:
<!-- ======================== Utility Types ======================= -->
<xsd:simpleType name="PairsOfURIType">
<xsd:list itemType="xsd:anyURI" />
</xsd:simpleType>
<!-- ================ PortType Attribute Extensions ================
-->
<xsd:attribute name="metadataDescriptorLocation"
type="wsrmd:PairsOfURIType" />
to this:
<!-- ================ PortType Attribute Extensions ================
-->
<xsd:attribute name="metadataDescriptorLocation" type="xsd:anyURI" />
Further, change XML snippets to reflect this - for example lines 235-241
become:
<portType name="OperatingSystem"
wsrf-rp:ResourceProperties="os:OSResourceProperties"
..wsrmd:metadataDescriptor=”os:OperatingSystemMetadataDescriptor”
..wsrmd:metadataDescriptorLocation=
”http://example.com/metadataDescriptors/OperatingSystem.wsrmd” >
…
</portType>
Change "10.1 Extending WSDL 1.1 PortType" to read:
"...
<wsdl:definitions …>
<wsdl:portType …
wsrmd:metadataDescriptor=”xs:QName”?
wsrmd:metadataDescriptorLocation=”xs:anyURI”?
… >
…
</wsdl:portType>
This definition is further constrained as follows:
/wsdl:portType/@wsrmd:metadataDescriptor
If this attribute appears on a WSDL 1.1 portType element its value MUST be
a QName that corresponds to a MetadataDescriptor component. Further, the
value of the MetadataDescriptor component contained in that document MUST
have {interface} that matches the QName of the portType containing
@wsrmd:metadataDescriptor. Any service that implements this portType MUST
be associated with a MetadataDescriptor that is, or specializes the
MetadataDescriptor identified by the value of this attribute.
/wsdl:portType/@wsrmd:metadataDescriptorLocation
If this attribute appears on a WSDL 1.1 portType element its value MUST be
a URI that corresponds to a URL at which can be found more information
about the MetadataDescriptor document, such as an XML document containing a
MetadataDescriptor Definitions element as its root element.
"
We should make the same change for the MetadataDescriptor @wsdlLocation
which is currently defined on lines 493 - 495 as:
"{wsdlLocation} a set of URI pairs, each pair associating a namespace
URI with a URL of a document containing a WSDL definition of that
namespace. This is a similar mechanism to that used in WSDL 2.0
[WSDL2.0]. "
The new definition of this attribute would be:
"{wsdlLocation} a URI that corresponds to the URL of a document
containing the WSDL definition of the WS-Resource."
is attribute should should be changed from "a set of" to "a pair of"
indicating the location of a single WSDL document.
[1]
http://www.oasis-open.org/apps/org/workgroup/wsrf/email/archives/200603/msg00006.html
Regards,
Ian Robinson
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]