[Bug 6224] New: Proposed editorial changes to SML 1.1 LC2

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

           Summary: Proposed editorial changes to SML 1.1 LC2
           Product: SML
           Version: LC
          Platform: PC
               URL: http://www.w3.org/TR/2008/WD-sml-20080912/
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core
        AssignedTo: cmsmcq@w3.org
        ReportedBy: len.charest@microsoft.com
         QAContact: public-sml@w3.org


This bug is a collection of mostly harmless typos and grammar errors I've found
in LC2. Fixing them would be a "fit and finish" exercise.

However, I think item number 7 below should be fixed ASAP since it does
represent a true bug in the specification of the grammar for sml:selector and
sml:field. This is why I've left the bug priority at P2.

There are 16 items following. Each item begins with "***", and most contain the
from the current draft (prefixed with "<<<") followed by my suggested changes
(prefixed with ">>>").

---begin

***[1] Section 2.1, 3rd paragraph, run-on sentences

Replace ", for instance" with ". For instance,". Replace ", for example" with
". For example,".

<<<

That is, references to properties of schema components are links to the
relevant definition, set off with curly braces, for instance {example
property}. References to properties of information items as defined in [XML
Information Set] are notated as links to the relevant section thereof, set off
with square brackets, for example [children].

>>>

That is, references to properties of schema components are links to the
relevant definition, set off with curly braces. For instance, {example
property}. References to properties of information items as defined in [XML
Information Set] are notated as links to the relevant section thereof, set off
with square brackets. For example, [children].

***[2] Section 4.1.1, first Note, run-on sentence

Replace ", i.e." with "; i.e.".

<<<

This mechanism enables schema-less identification of SML references, i.e., SML
references can be identified without relying on the Post Schema Validation
Infoset (PSVI).

>>>

This mechanism enables schema-less identification of SML references; i.e., SML
references can be identified without relying on the Post Schema Validation
Infoset (PSVI).

***[3] Section 4.1.1, 3rd paragraph, unnecessary comma

Replace "scheme, if" with "scheme if".

<<<

An SML reference is considered to be an instance of a specific SML reference
scheme, if it can be identified as such according to that SML reference
scheme's rules.

>>>

An SML reference is considered to be an instance of a specific SML reference
scheme if it can be identified as such according to that SML reference scheme's
rules.

***[4] Section 4.2.7, 3rd & 4th paragraphs, unnecessary commas & sentence
fragment

Replace "Let," with "Let". Replace "set. That is" with '; that is".

<<<

Let, I = input node set. That is, the set of nodes passed to the deref()
function.

Let, O = output node set. That is, the set of nodes returned by the deref()
function.

>>>

Let I = the input node set; that is, the set of nodes passed to the deref()
function.

Let O = the output node set; that is, the set of nodes returned by the deref()
function.

***[5] Section 5.1.3, table 5-2, missing heading text in first column

Suggest "Reference Category" as column heading.

***[6] Section 5.2.1.2, bullet 1, tokenization errors in DerefExpr grammar
production

In the DerefExpr production, the FunctionName 'deref' has been fused with '('.
Separate them into 2 tokens. 

<<<

DerefExpr ::= NCName ':' 'deref(' Step ('/'Step)* ')' ('/'Step)* |
              NCName ':' 'deref(' DerefExpr ')' ('/'Step)*

>>>

DerefExpr ::= NCName ':' 'deref' '(' Step ('/'Step)* ')' ('/'Step)* |
              NCName ':' 'deref' '(' DerefExpr ')' ('/'Step)*


***[7] Section 5.2.1.2, bullet 2, tokenization errors in grammar productions

Fix DerefExpr as above. Additionally, in the Path production, the '@' token has
been fused with the term NameTest. Separate them as "'@' NameTest".

<<<

Path ::= ('.//')? ( Step '/')* ( Step | @NameTest ) |
         DerefExpr ('/' @NameTest)?
DerefExpr ::= NCName ':' 'deref(' Step ('/'Step)* ')' ('/'Step)* |
              NCName ':' 'deref(' DerefExpr ')' ('/'Step)*

>>>

Path ::= ('.//')? ( Step '/')* ( Step | '@' NameTest ) |
         DerefExpr ('/' '@' NameTest)?
DerefExpr ::= NCName ':' 'deref' '(' Step ('/'Step)* ')' ('/'Step)* |
              NCName ':' 'deref' '(' DerefExpr ')' ('/'Step)*

***[8] Section 5.4.1, 2nd paragraph, punctuation fix-up

Suggest: add a comma between "constraint then"; remove the comma after "must
be"; add "the" before each numbered phrase; change "by restriction." to "by
restriction, and"

<<<

For a complex type D derived from its {base type definition} B, if an element
declaration ED is included in D and an element declaration EB is included in B,
and ED and EB satisfy the "NameAndTypeOK" constraint then the SML constraints
(target* and SML identity constraints) applicable to ED must be, 

  1. same as those on EB in case of derivation by extension. 

  2. same or more restrictive compared to those on EB in case of derivation by
restriction. 

>>>

For a complex type D derived from its {base type definition} B, if an element
declaration ED is included in D and an element declaration EB is included in B,
and ED and EB satisfy the "NameAndTypeOK" constraint, then the SML constraints
(target* and SML identity constraints) applicable to ED must be

  1. the same as those on EB in case of derivation by extension, and

  2. the same or more restrictive compared to those on EB in case of derivation
by restriction. 

***[9] Section 5.4.2.2, 1st paragraph, unnecessary comma

Self-explanatory.

<<<

Let,

>>>

Let

***[10] Section 6.1, Schematron example, use of urn:IPAddress

This is a minor point, but urn:IPAddress is not a valid URN because a) the
namespace ID "IPAddress" is not registered with IANA, and b) it has no
namespace-specific string. RFC 3406 provides for experimental namespace IDs
that are not registered. The URN in the example could be made standards
conformant by simply writing it as "urn:x-example:IPAddress". (A tag: URI could
be also be used here as an alternative to a URN.)

***[11] Section 6.3.2, bullet 2, misplaced comma

Change "B then," to "B, then".

<<<

If a complex type D is derived by restriction from {base type definition} B
then, a global element declaration with non-empty {rules} contained in B MUST
NOT be restricted to a local element declaration in D. 

>>>

If a complex type D is derived by restriction from {base type definition} B,
then a global element declaration with non-empty {rules} contained in B MUST
NOT be restricted to a local element declaration in D. 

***[12] Section 7, 1st paragraph, phrasing

The phrase "the natural-language texts or messages" is confusing. Perhaps "the"
is unnecessary, or "or" should be "of", or both words are in error. Here's a
suggestion:

<<<

SML defines the sml:locid attribute in support of localization of the
natural-language texts or messages.

>>>

SML defines the sml:locid attribute in support of localization of
natural-language texts and messages.

***[13] Section 9.1.4, 2nd paragraph, typo

Incorrect pluralization of "declarations".

<<<

sml:targetElement is supported as an attribute for any element declarations.

>>>

sml:targetElement is supported as an attribute for any element declaration.

***[14] Section 9.1.5, 1st paragraph, phrasing

The phrase "an unresolved reference which does not target any element in the
model" is redundant. All unresolved references do not target any element in the
model under consideration by definition. Also, replace "can not" with "cannot",
and replace ", i.e.," with "; i.e."

>>>

Used to specify that instances of an SML reference must target elements in the
model, i.e., an instance of the SML reference can not be null or contain an
unresolved reference which does not target any element in the model.

<<<

Used to specify that instances of an SML reference must target elements in the
model; i.e., an instance of the SML reference cannot be null or contain an
unresolved reference.

***[15] Section F, 2nd paragraph, XML fragment

The namespace declaration for lang is represented as an element. Remove angle
brackets.

<<<

<xmlns:lang="http://www.university.example.org/translation/">

>>>

xmlns:lang="http://www.university.example.org/translation/"

***[16] Whole document, find and replace

Replace all remaining occurrences of ", i.e." with "; i.e.". 

---end


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Thursday, 13 November 2008 03:56:08 UTC