[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]