This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 5398 - SMLIF 5.2 clarifications
Summary: SMLIF 5.2 clarifications
Status: RESOLVED FIXED
Alias: None
Product: SML
Classification: Unclassified
Component: Interchange Format (show other bugs)
Version: unspecified
Hardware: PC Windows XP
: P2 normal
Target Milestone: LC
Assignee: Kumar Pandit
QA Contact: SML Working Group discussion list
URL:
Whiteboard:
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2008-01-22 12:50 UTC by John Arwe
Modified: 2008-02-14 19:35 UTC (History)
0 users

See Also:


Attachments

Description John Arwe 2008-01-22 12:50:57 UTC
5.2 SML-IF Documents
"An SML-IF document MUST conform to XML [XML] specification." is awkward.  We might be better off using something like the SML definition for document in its place, i.e. "An SML-IF document MUST be a well-formed XML document, as defined in [XML]."

5.2.1 Embedded Documents - last sentence
currently says "If model/*/document/data contains no child element or model/*/document/base64Data has empty content then the SML-IF consumer MUST treat the document as if it is not part of the interchange set."
Different phrases ("no child element", "empty content" respectively) are used for data and base64data to describe what I expected to be the same condition.  If they are the same condition, it would be clearer to use identical words to describe it.  If they are different descriptions, this text does not tell me as a reader what those differences are in a precise way that I understand.
Comment 1 Valentina Popescu 2008-01-31 19:43:36 UTC
based on 01/31 meeting, marked editorial with a needsReview when complete

<Sandy> instruct editors to draft wording to use phrases like "if no document is present" for both "data" and "base64data"; failing that, fall back to use different conditions: no child element for "data" and 0-length base64 for "base64data".
Comment 2 Valentina Popescu 2008-01-31 19:45:22 UTC
MSM comments in IRC

<MSM> [A concrete sketch:  something like:
<MSM> If the <data> element has no child element, it is said to contain a
<MSM> 'vacuous document'.  If the <base64Data> has a zero-length sequence of
<MSM> octets as its value, it similarly contains a 'vacuous document'
<MSM> If the model/*/document element contains only a vacuous document, then
<MSM> the SML-IF consumer MUST treat the document as if it is not part of
<MSM> the interchange set.
<MSM> ]
Comment 3 Kumar Pandit 2008-02-03 09:14:05 UTC
[1]
New text:

An SML-IF document MUST be a well-formed XML document [XML].

[2]
I tried coming up with wording based on Sandy's suggestion in comment# 1, but a sentence such as "If no document is present, that document must be treated as..." does not feel right. MSM's suggestion in comment# 2 seems cleaner.

New text is copied below:

If the model/*/document/data element has no child element, it is said to contain a vacuous document. If the model/*/document/base64Data element has a zero-length sequence of octets as its value, it similarly contains a vacuous document. If the model/*/document/* element contains only a vacuous document, then an SML-IF consumer MUST treat the document as if it is not part of the interchange set. 
Comment 4 John Arwe 2008-02-12 23:55:56 UTC
[1] looks fine.

[2]
> If the model/*/document/* element contains only a vacuous document
gets us into trouble with spec lawyers I think.  E.g. if the document element has aliases but its data child matches the vacuous document definition, does it "contain only a v.d." or not?  The logicians would say 'not'.

To some degree this is a problem of our own making, as we have tended to treat syntax and the concept expressed by the syntax as the same thing in many places, so a change to one hits us more widely than if the two were independent.  Many of our more recent changes appear to be in the direction of separating the two and linking them in exactly one spot (vacuous documents being an excellent example).

Since I'd like to get something "close enough" for LC, here is the simplest fix I can come up with... imperfect but likely c.e.
from: If the model/*/document/* element contains only a vacuous document
to:   If the model definition or instance document is a vacuous document
That leaves the definition of v.d. still tied to syntax, but it should be enough to fend off the spec lawyers.
Comment 5 Kumar Pandit 2008-02-13 07:42:05 UTC
Changed the text as suggested in comment# 4.

from:
If the model/*/document/* element contains only a vacuous document, then ...

to:
If a model definition document or an instance document is a vacuous document, then ...

Comment 6 Virginia Smith 2008-02-14 19:35:48 UTC
WG agrees with basic structure of edits. Discussion occurred about using term "vacuous" - another bug will be opened to track this discussion.