Re: R120 URI-references, input for editors

Jacek,

Concerning <part>, it is true that are not named with a QName, but they are
conceptual elements of WSDL. R120 says that all conceptual elements should
have a URI-reference.

I looked at using raw XPointer/XPath and produced examples of the syntax.
They do solve the problem, but they are very complex. I presented the
alternatives at the last f2f. The WG voted on the simpler syntax even
though it meant inventing something. The simpler syntax is compliant with
the XPointer Framework.

Consider the following fragment example which appears in
http://lists.w3.org/Archives/Public/www-ws-desc/2002Dec/att-0021/01-URI-References.html:

The portType TicketAgent has an operation listFlights that contains an
input listFlightsRequest

The proposed XPointer Framework syntax is:

#input(TicketAgent/listFlights/listFlightsRequest)

The full XPath syntax is:

#xmlns(w=http://schemas.xmlsoap.org/wsdl/) xpointer(//w:portType[@name
="TicketAgent"]/w:operation[@name="listFlights"]/w:input[@name
="listFlightsRequest"])

Concerning your discussion of XNames, I don't understand the point you are
trying to make. Can you explain what an XName is?

Arthur Ryman,


                                                                                                                                                    
                      Jacek Kopecky                                                                                                                 
                      <jacek@systinet.c        To:       Arthur Ryman/Toronto/IBM@IBMCA                                                             
                      om>                      cc:       WS Description WG <www-ws-desc@w3.org>                                                     
                      Sent by:                 Subject:  Re: R120 URI-references, input for editors                                                 
                      www-ws-desc-reque                                                                                                             
                      st@w3.org                                                                                                                     
                                                                                                                                                    
                                                                                                                                                    
                      01/16/2003 12:19                                                                                                              
                      PM                                                                                                                            
                                                                                                                                                    
                                                                                                                                                    




Arthur, please see my replies inside.

Jacek

On Thu, 2003-01-16 at 17:54, ryman@ca.ibm.com wrote:
> I read [1]. My understanding is that you are making 2 points:
>
> 1. if 2 components have the same qname then they should be viewed as
> representing a single concept, e.g. an XML type and element named date in
> the namespace http://example.org are conceptually related
>
> 2. the syntax for mapping a qname to a uri should be concatenation, as is
> done in RDF/XML: e.g. http://example.org/date

Both correct.

> 1. In WSDL there are scopes that isolate component names. For example,
the
> <part> elements of a <message> have names that are local to the
<message>.
> It would be very awkward to find unique names for all <part>s. This
> requirement would be like saying that the parameter names for a Java
method
> had to be unique within a package. Finding unique names would be very
> awkward.

WSDL message parts are not named with a QName (actually, XName is more
appropriate term here, but it's not yet widely used), therefore I'm not
claiming anything about their names. What I'm saying is that parts
should not be referenced with a single URI. Note that WSDL uses message
QName *and* a part name to reference a part, why do we want to invent an
atomic identifier for parts, above what XPointer/XPath and document
locators already give us? We are trying to add unnecessary
complications.

> 2. The concatenation syntax can lead to name conflicts. For example,
> suppose http://example.org/date is already the namespace of another
schema.
> The the URIs you create in the http://example.org namespace conflict with
> it. The solution is to use the fragment syntax, e.g.
> http://example.org#date. My proposal for R120 is just a variant of this
to
> remove the above objection to making names unique.

Oh yes, concatenation approach does have its problems. It works for RDF
because they are in a different position - in RDF most everything is a
URI and the QNames are only created for use in serialization. Possibly
without saying it in so many words, RDF suggests what URIs should look
like - that they should end with an NCname which can then be used as the
local part of a QName.

RDF doesn't have namespaces. XML has namespaces as a way to distinguish
identifiers (say element names). Many people seem to think that the
local part is very much separated from the namespace name and that the
namespace name alone carries a lot of information. I disagree with both
points.

There is a good practice in RDF to end namespace URIrefs with a pound
sign, making the local parts of QNames fragment identifiers. This is a
good way of grouping URIrefs - one resource with multiple fragments.

So, the following two XNames seem related by means of their namespaces:

{http://example.org/}foo
{http://example.org/}bar

My position is that the two XNames above are exactly as much related as
the URIs formed by concatenation. On the other hand, the following pair
is different:

{http://example.org/#}foo
{http://example.org/#}bar

Again, the two XNames are as related as the URIs (after concatenation)
are, but because of the use of fragment identifiers they are much more
related.

BTW, this approach also nicely says what is the "namespace resource", or
"namespace document", as some call it.

Best regards,

                   Jacek Kopecky

                   Senior Architect, Systinet Corporation
                   http://www.systinet.com/

Received on Thursday, 16 January 2003 16:56:49 UTC