[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: RE: [uddi-spec] XPointer change in WSDL BP
Your detailed explanation makes sense to me. I'd already be in a position to vote on the WSDL 1.08 BP. Claus -----Original Message----- From: John Colgrave [mailto:colgrave@hursley.ibm.com] Sent: Mittwoch, 23. Oktober 2002 11:22 To: uddi-spec Subject: [uddi-spec] XPointer change in WSDL BP In the cold light of day, and for the benefit of those not on yesterday's call, I will try and give a more discursive explanation of the reason for the change to the 1.07 WSDL BP. The 1.07 BP says in the section entitled "tModels for WSDL Service Interface Definitions": "When a tModel refers to a WSDL document as in this example, it refers to the entire content of the document, including all of its bindings. It is often convenient to have a tModel refer to a single binding. This may be accomplished by having the overviewURL contain as a fragment identifier [4] the name of the binding." and gives as an example overviewURL value http://stockquote-definitions/stq.wsdl#StockQuoteSoapBinding The reference [4] is to RFC 2396. RFC 2396 says, in section "4.1 Fragment Identifier" that "...the format and interpretation of fragment identifiers is dependent on the media type [RFC2046] of the retrieval result." The media type of WSDL resources is text/xml (this is inherited from XML in general). RFC 3023 defines the text/xml media type and says in section "5 Fragment Identifiers" "As of today, no established specifications define identifiers for XML media types. However, a working draft published by W3C...XPointer...attempts to define fragment identifiers for text/xml and application/xml..." The folks in WS-I believe that XPointer applies here. Assuming that it does, then the format and interpretation of the fragment identifier should be according to the XPointer specifications. The latest XPointer is a series of specifications. There is a basic framework and several schemes built on top of the framework, one of which is the xpointer() scheme itself. The BP now references this xpointer() scheme. XPointer does allow for a fragment identifier such as StockQuoteSoapBinding, such a fragment identifier is known as a Shorthand Pointer, but its meaning is the value of an ID attribute. The schema for WSDL does not allow ID attributes so a simple name like this will never identify any element. We must therefore use the full xpointer syntax. The first 1.08 draft used a fragment of the form xpointer(//*[@name='StockQuoteSoapBinding']) which is valid according to XPointer but is not guaranteed to identify exactly one element because of the WSDL naming rules. WSDL 1.1 allows, for example, a portType and a binding to have the same name; names only have to be unique within the scope of a single definition type. Also, any WSDL extension could define an element with an unqualified attribute of name and that could potentially be identified by this form of xpointer expression. The only way to express precisely the intent of the BP is to use a fragment that means "a WSDL binding element with this value of its name attribute" and to do this we have to declare the WSDL namespace and then refer specifically to the WSDL binding element, which we do with a fragment of the form "xmlns(wsdl=http://schemas.xmlsoap.org/wsdl/) xpointer(//wsdl:binding[@name='StockQuoteSoapBinding'])" which is what is used in the 1.08 draft dated yesterday, October 22. This allows for much more flexibility than just using the binding name but if only the name is used then all the extra text is fixed and you just have to insert the binding name. John Colgrave IBM ---------------------------------------------------------------- To subscribe or unsubscribe from this elist use the subscription manager: <http://lists.oasis-open.org/ob/adm.pl>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC