RE: Joining two relative URIs

RFC 3986 does not explicitly cover combining two relative URIs;
as you point out, it explicitly says that the scheme component is 
required to be present in a base URI.

However, there is no reason why you cannot cite that algorithm
and remove the constraint when you define the operation of
modifying XML data structures. I don't think it affects the
semantics of xml:base, only the recommended action; you want
to insure that your 'combine' function satisfies:

  apply(B, combine(R1, R2)) == apply(apply(B, R1), R2)
 for all B, R1, R2

and you point to RFC 3986's algorithm for 'apply'
as being effective for implementing 'combine'.

If you have content with no explicit home and you still
need a theoretical base, consider using 'thismessage:/',
as used in RFC 2557, which also needed a base for 
content-in-transit.

Larry

Received on Thursday, 30 March 2006 07:25:11 UTC