[Bug 5171] Confusing and contradicting sections on resolving inter-document references

http://www.w3.org/Bugs/Public/show_bug.cgi?id=5171

           Summary: Confusing and contradicting sections on resolving inter-
                    document references
           Product: SML
           Version: unspecified
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core+Interchange Format
        AssignedTo: cmsmcq@w3.org
        ReportedBy: popescu@ca.ibm.com
         QAContact: public-sml@w3.org


Section 3.4.6-Resolving Inter-document References says that references
containing only fragments must point to the document in which they occur.

But section 3.4.5- Relative Reference above requires a [base URI] to be
specified for any relative reference  :
If any inter-document reference or any alias of any document in the interchange
set is a relative URI, then the [base URI] property as defined by Infoset [XML
Information Set] MUST be used to specify a base URI for these references. 

Issues:
1. A URI fragment is also a relative URI so 3.4.5 must apply to fragments. 
By doing that is quite possible that the URI resulted by applying the [base
URI] to that fragment to be equivalent with a document alias in the IF set.
Which means the fragment may point to outside documents
Possible resolutions:
1. fragment URIs are not required to have [base URI] defined (update 3.4.5 to
say that). They always point to the document containing them. 
If a [base URI] is defined at instance document level, within the document
containing the fragment, and the [base URI] applies to this fragment, there
should be no attempt to match the resulted URI with a document alias in IF. 
If a [base URI] is defined globally, at the IF level, this [base URI] should
not be applied to fragments.
In other words, resolution 1 says that fragments are always pointing to the
same document containing them.

2. Fragments behave just like any other relative URI. The only difference is
that they are not required to have a [base URI] specified since they may be
just  references pointing to the same document.
If [base URI] are specified, locally or globally, fragments are required to
observe them; as a result fragment identifiers MAY and up pointing to documents
other then the one containing them.

Received on Tuesday, 9 October 2007 21:03:40 UTC