Re: ACTION-97: New proposal for SML-IF section 3.3.6 (and 3.3.4 and 3.3.5)

Comments
1. I'm unsure if you were trying to be precise about "URI" and "URI 
reference" in this proposal or not.  I haven't crawled through the RFCs 
lately, just note that if you were/are trying to be precise, there is a 
mix of them in your proposed text.
2. 3.3.5 "Each URI reference is resolved using the baseURI element" - 
should that be "Each _relative_ URI ..."?
3. 3.3.6 "the inter-document reference is to the document in which it 
occurs." - isn't "the document" ambiguous in the context of SMLIF?  It 
certainly seems ambiguous in the case where you have a definition/instance 
<data>...</data> document.  Is "the document" the model 
definition/instance document, or the SMLIF instance document?  I'm sure 
the writer intended the former, but the latter seems an equally valid 
interpretation based solely on the text.
4. (same as 3) <locator>'d documents I suspect we want to treat exactly 
like <data>'d documents, to the degree possible.
5. 3.3.6 "In either case," - in that section prior to the quoted text, I 
see a structure of "if then... else (otherwise) ... if then ...[else]" 
which I have a hard time mapping to "either" (implies 2 cases, vs 3 
...'s).  I realize this is an existing issue, not sure if you intended to 
address it.
6. Is it not possible, using a relative reference, to "climb outside" the 
SMLIF-provided encapsulation of <data>/<locator> and directly reference 
another document in the interchange set?  I don't think we ever actually 
intended to allow that, but I don't see anything preventing it either.

Best Regards, John

Street address: 2455 South Road, Poughkeepsie, NY USA 12601
Voice: 1+845-435-9470      Fax: 1+845-432-9787



Philippe Le Hegaret <plh@w3.org> 
Sent by: public-sml-request@w3.org
07/19/2007 01:56 PM

To
public-sml <public-sml@w3.org>
cc

Subject
ACTION-97: New proposal for SML-IF section 3.3.6 (and 3.3.4 and 3.3.5)







Here is a new proposal.

The definition for baseURI element comes before document aliases, since
it is used by them.
I introduced the notion of "document alias" more explicity, so that I
can reuse it in section 3.3.6.


[[
3.3.4 baseURI element

The baseURI element MUST be an absolute URI that inter-document
references using relative URIs are based on.

If any inter-document reference or any alias of any document in the
interchange set is a relative URI, the baseURI child of the identity
element MUST be present.

3.3.5 Document aliases

In addition to containing or referring to one of the documents in the
interchange set, each document element MAY (indirectly) contain a list
of alias elements. Each alias element contains a URI reference. Each URI
reference is resolved using the baseURI element (see 3.3.4, baseURI
element) to obtain a document alias. The set of document aliases for a
given document constitutes the set of identifiers by which documents
in the interchange set may make inter-document references to the
document in question.

A document element containing no alias elements signals that the
document in question has no document aliases. By implication having no
alias also signals that there can be no inter-document references to
it.

3.3.6 Resolving inter-document references

If the inter-document reference contains only a fragment, i.e. the
number sign ("#") separator followed by a fragment identifier, the
inter-document reference is to the document in which it occurs.

Otherwise, the URI reference representing the inter-document reference
is resolved using the baseURI element, as defined above. If the
resulting URI is equivalent to a URI that is a document alias of some
document in the interchange set, the inter-document reference is to
that document.

In either case, such a reference is called "a resolved inter-document
reference." If neither of these cases applies, the inter-document
reference is to a document not included in the interchange set. Such a
reference is called "an unresolved inter-document reference."

If the URI representing a resolved inter-document reference has no
fragment, the reference is to the root element of the referred-to
document.

If the URI representing a resolved inter-document reference has a
fragment, the reference is to the element obtained by applying the
fragment to the referred-to document starting with its root element.

]]

Philippe

Received on Monday, 23 July 2007 14:24:52 UTC