Fragment identifier syntax not XPointer Framework-compatible

While participating in the TAG discussion at [1], I noticed that our
fragment syntax does not support unknown fragment schemes, or multiple
fragment schemes in general.  This prevents the fragment identifier
syntax from being crafted for use with more than just the wsdl+xml media
type.  I believe the following are not currently a legal WSDL 2.0
fragment identifiers, though IMO they should be:

 

http://example.com/webservice.wsdl#ignore-me()wsdl.description()

http://example.com/webservice.wsdl#wsdl.description()element(/1)

 

In effect, instead of defining a compatible subset of XPointer, we
should be defining XPointer extensions.  The offending sentence is [2]:

 

A WSDL 2.0 fragment identifier consists of zero or more xmlns pointer
parts (see 3.4 Namespace Binding Context in [XPointer Framework
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#XPTR#XPTR> ]) followed by a WSDL
2.0 pointer part as defined below.

 

A fix to allow other fragment schemes would be: 

 

A WSDL 2.0 fragment identifier is an XPointer [XPointer Framework
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#XPTR#XPTR> ], augmented with WSDL
2.0 pointer parts as defined below. Note that many of these parts
require the pre-appearance of one or more xmlns pointer parts (see 3.4
Namespace Binding Context in [XPointer Framework
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#XPTR#XPTR> ]).

 

The constraint to have only a single WSDL pointer part (plus any
necessary xmlns declarations) is still valuable, in the context of
defining a canonical WSDL 2.0 IRI, as in [3], so I'd change

 

The IRI provided by the namespace name of the {name
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-.name> } property is combined with a fragment identifier as
defined in A.2 Fragment Identifiers
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#frag-ids#frag-ids> .

 

To 

 

The IRI provided by the namespace name of the {name
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-.name> } property is combined with a zero or more xmlns pointer
parts (see 3.4 Namespace Binding Context in [XPointer Framework
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#XPTR#XPTR> ]) followed by a single
WSDL 2.0 pointer part as defined in A.2 Fragment Identifiers
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#frag-ids#frag-ids> .

 

One more thing - are these URIs supposed to be fully canonical?  If so,
we might want to constrain the order of the xmlns() parts - e.g. they
appear in the order in which the prefixes are used in the WSDL pointer
part, and ensure no unused xmlns() declarations may appear.

 

[1] http://lists.w3.org/Archives/Public/www-tag/2006Sep/0015.html

[2]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?cont
ent-type=text/html;%20charset=utf-8#frag-ids

[3]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?cont
ent-type=text/html;%20charset=utf-8#wsdl-iris

 

 [  Jonathan Marsh  ][  jmarsh@microsoft.com
<mailto:jmarsh@microsoft.com>   ][  http://auburnmarshes.spaces.live.com
]

 

Received on Tuesday, 5 September 2006 15:39:21 UTC