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

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





------- Comment #4 from simeon@us.ibm.com  2006-04-17 16:49 -------
Michael:

Thanks very much for all those suggestions, which can go directly into the
draft. I have some reservation about the last suggestion however, about an
alternative grammar & approach. More specifically, I am not sure that using `1`
instead of xs:integer("1") is that much clearer. It introduces new notations
which seem really unnecessary in that case and will need some extra
explainations.

Here is an interim suggestion, which instead relies more explicitely on
XQuery's syntax and is closer the first proposal you are hinting at. It would
look like the following:

AtomicValueContent ::= StringLiteral
                    |  BooleanLiteral
                    |  DecimalLiteral
                    |  DoubleLiteral
                    |  ConstructedLiteral

    StringLiteral  ::= '"' Char* '"'
    BooleanLiteral ::= 'true()' | 'false()'
    DecimalLiteral ::= Digit+ ( "." Digit+ )?
    DoubleLiteral  ::= (("." Digits) | (Digits ("." [0-9]*)?)) [eE] [+-]?
Digits
    ConstructedLiteral ::= AtomicTypeName "(" StringLiteral ")"

That would go along with some additional text to note that:

 * This notation uses XQuery syntax to write 'syntactic objects' (not sure what
better word to use here) that correspond to values in the corresponding atomic
type value space.
 * In the ConstructedLiteral form, the corresponding string literal must
be a valid lexical representation for the corresponding value in the specified
atomic type.

Would that address your last concern?

Best,
- Jerome

Received on Monday, 17 April 2006 16:49:53 UTC