W3C home > Mailing lists > Public > public-sml@w3.org > December 2007

RE: RE: [Bug 4675] add text in section 5.3.3 to require that consumers and producers are required to implement at a minimum the uri scheme

From: John Arwe <johnarwe@us.ibm.com>
Date: Thu, 6 Dec 2007 10:16:48 -0500
To: public-sml@w3.org
Message-ID: <OF15B2E916.F0352088-ON852573A9.00529035-852573A9.005421D7@us.ibm.com>
Kirk asked: Also, a question on the definition of conforming SML-IF 
Producer: must have a conforming SML-IF Producer be able to literally take 
*any arbitrary* SML model and generate a conforming SML-IF document--even 
if the SML model contains non-interoperable reference schemes???  That 
seems to be calling on the SML-IF Producer to do the impossible.

My opinion is that doing so is a completely trivial exercise.  It is 
trivial because the only _really_ full interoperability SMLIF specifies is 
the by-value-embedded case.  Inventing sml:uri reference scheme instances 
where they do not exist is a simple matter of: 

1. generating a nearly random string ("nearly" because it cannot collide 
w/ any existing document aliases and must satisfy xs:anyURI), and 
assigning that string as an <alias> for any document currently lacking an 
alias.

2. for each reference instance, adding an sml:uri value (if not already 
present) whose absolute uri (possibly after relative to absolute 
transformation as described in RFC 3986 section 5 or 6) corresponds to one 
of the document aliases in the interchange set (again, the document 
aliases might require transformation to absolute URIs first).

Within those bounds, the sml:uri non-fragment components are (modulo URI 
parsing requirements necessary for transformation to URI references) only 
used for string equality comparisons.  Once you go outside those very 
tight bounds, I assert you do not have interop today.  Even for the 
sml:uri scheme.

Also, "non-interoperable" might or might be true depending upon how you 
define interoperable. In context I read an implicit "using consumers 
compliant to SML-IF only, with no additional reference schemes beyond 
sml:uri" condition, in which case sure, you've drawn the lines to make the 
statement true.  If on the other hand I draw a subtly different line, and 
allow consumers to implement additional reference schemes, then 
"interoperable" becomes contingent on the set of reference schemes the 
consumers support.

Best Regards, John

Street address: 2455 South Road, P328 Poughkeepsie, NY USA 12601
Voice: 1+845-435-9470      Fax: 1+845-432-9787
Received on Thursday, 6 December 2007 15:17:30 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:56:08 UTC