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 6224 - Proposed editorial changes to SML 1.1 LC2
Summary: Proposed editorial changes to SML 1.1 LC2
Status: RESOLVED FIXED
Alias: None
Product: SML
Classification: Unclassified
Component: Core (show other bugs)
Version: LC
Hardware: PC Windows NT
: P2 normal
Target Milestone: CR
Assignee: Virginia Smith
QA Contact: SML Working Group discussion list
URL: http://www.w3.org/TR/2008/WD-sml-2008...
Whiteboard:
Keywords: editorial
Depends on:
Blocks:
 
Reported: 2008-11-13 03:55 UTC by Len Charest
Modified: 2008-11-18 00:00 UTC (History)
1 user (show)

See Also:


Attachments

Description Len Charest 2008-11-13 03:55:56 UTC
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
Comment 1 Virginia Smith 2008-11-17 22:58:45 UTC
From 11/13 meeting:

RESOLUTION: changes in [6] should be made
... changes in [7] in bug should be made
... changes in [14] are approved
... section [10] is ok as proposed
... leave bug as editorial; no further review needed