XLink checking of URI references

5.4 of the XLink Rec says:

"The value of the href attribute must be a URI reference as defined in [IETF RFC 2396], or must result in a URI reference after the escaping procedure described below is applied."

It then later says:

"Because it is impractical for any application to check that a value is a URI reference, this specification follows the lead of [IETF RFC 2396] in this matter and imposes no such conformance testing requirement on XLink applications."

RFC 2396 provides a BNF which any legal URI no matter what its scheme must conform to.  This BNF doesn't constrain things very much, but it does disallow certain things: for example, any % sign must be followed by two hex chars.  I can understand that it is impractical to check any schema-specific constraints imposed by individual URL schemes over and above those in RFC 2396. But I don't understand how it is impractical to check against the BNF in RFC 2396, nor how not requiring such checking can in any sense be following the lead of RFC 2396.

As I understand the anyURI type of XML Schema, it requires that things must 
be legal URI references per RFC 2396

"The ·lexical space· of anyURI is finite-length character sequences which, when the algorithm defined in Section 5.4 of [XML Linking Language] is applied to them, result in strings which are legal URIs according to [RFC 2396], as amended by [RFC 2732]."

but doesn't require any scheme-specific checking:

"Each URI scheme imposes specialized syntax rules for URIs in that scheme, including restrictions on the syntax of allowed fragement identifiers. Because it is impractical for processors to check that a value is a context-appropriate URI reference, this specification follows the lead of [RFC 2396] (as amended by [RFC 2732]) in this matter: such rules and restrictions are not part of type validity and are not checked by ·minimally conforming· processors."

Shouldn't XLink do the same thing?

James

Received on Friday, 20 July 2001 02:12:12 UTC