Next in thread →
Next in month →
Re: [wsrf] New RMD issue: Simplification of metadataDescriptorLocation type
+1 to the separation of this issue.
+1 to the proposed anyURI datatype
Also, I'd like to suggest that we rename the
wsrmd:MetadataDescriptorLocation to wsrmd:DefinitionsLocation.
I can see that current name derives from the terminology in section 2 of
the spec: "MetadataDescriptor Document: An XML instance document whose
root is a Definitions element from the wsrmd: namespace. This document
contains definitions for zero or more MetadataDescriptor components." The
overloading of 'MetadataDescriptor' is confusing - is it a document or an
element within the document?
There is an analogy with xsd which would make matters much clearer. In the
case of xsd, the schemaLocation on <xsd:import> indicates that the
contents of the <schema> element from a separate document are being
imported to assist qname references from the importing document. The
targetNamespace attribute on <schema> identifies the imported namespace.
In our case, we need to reference the contents of the namespace populated
by the contents of the <Definitions> element from a separate source, and
the wsrmd:xxxxLocation is a hint about where to find the description of
those contents. By this analogy, we could call it
wsrmd:DefinitionsLocation.
Ok, it's not a huge improvement, but every little bit helps.
Regards, Tim Banks.
Ian Robinson/UK/IBM@IBMGB wrote on 24/04/2006 14:51:49:
>
>
>
>
> 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
Next in thread →
Next in month →