OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

uddi-spec message

[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