[Bug 1535] [FS] editorial: 2.3.1 Formal values

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


jmdyck@ibiblio.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |




------- Comment #3 from jmdyck@ibiblio.org  2006-04-17 05:49 -------
Well, the added text helps, I guess, but it's still pretty loose, especially
the last sentence. Consider the following (quasi-ER) diagram, established by
the first two sentences:

      Syntactic Realm                         Abstract Realm
    -------------------                     ------------------

        non-terminal     --- represents -->    value space
       (e.g. String)                  (e.g., value space of xs:string)
             |                                      |
             |                                      |
         stands for                            [contains]
             |                                      |
             *                                      *
             V                                      V
       syntactic object  --- corresponds to -->   value

At the end of the second sentence, the phrase "the corresponding value space"
breaks this somewhat, using the verb "corresponds" where the first sentence had
set up "represents". In the last sentence, you say "string values", which I
would take to mean "values in the xs:string value space", but you almost
certainly don't mean that; rather you mean something like "String syntactic
objects".

So I suggest that you:

-- Change "represents" to "corresponds to". (This will help delineate the
syntactic/abstract divide.)

-- Change "stands for" to "derives". Or if that's too technical, then
"generates".

-- Change "syntactic object" to something else, since, as we've seen elsewhere,
it can be misinterpreted. Or else define it.

-- Change the last sentence to:
      For instance, the non-terminal 'String' derives a set of syntactic
      objects, which appear in examples as "", "a", "John", etc.; each one
      corresponds to a string value in the xs:string value space. 

.....

Re the "stands for/derives/generates" relation in this particular context: it's
odd that this relation isn't defined by a set of productions. Why aren't there
productions something like
    String ::= '"' Char* '"'
    Decimal ::= Digit+ ( "." Digit+ )?
Maybe because nobody wanted to supply all 19 rules. Maybe because, although
String derives things that look like StringLiterals, and Decimal derives things
that look like DecimalLiterals or IntegerLiterals, what about symbols like
Base64Binary and NOTATION? What do the things they derive look like?

My advice is to drop the "looks like something familiar" approach, as it skirts
too close to circularity. Instead, use an unfamiliar notation for things
derived from AtomicValueContent. E.g.
    String  ::= '`' {Any literal in the ·lexical space· of xs:string}  '`'
    Decimal ::= '`' {Any literal in the ·lexical space· of xs:decimal} '`'
etc. (And you could just say "etc." since the pattern is pretty obvious.)
(Here, "literal" is used in the XML Schema sense.)

Note that the particular appearance of such things has almost no effect on the
spec; I think you'd only have to make some minor tweaks to the examples in
2.3.2. And of course, it has no effect on the semantics of the XQuery language.
 But it would reassure readers that everything derived from AtomicValueContent
(not just String and Decimal) is a syntactic object, and has a straightforward
"concrete" presentation. Which would answer the question that I asked in the
original comment. Moreover, because they are defined in terms of literals in a
lexical space, the "corresponds to" relation is clearer: each
thing-derived-from-AtomicValueContent corresponds to whatever value is denoted
by the literal it contains.

(Someone might ask: what if the literal contains an occurrence of the
delimiting character '`'? I think it would be sufficient to answer that
escaping mechanisms exist, and it isn't really necessary for the FS to specify
a particular one.)

Received on Monday, 17 April 2006 05:49:29 UTC