PS syntax - again...

Hi Harold,

In http://www.w3.org/TR/rif-bld/#EBNF_for_the_Rule_Language,
you define the following rules:

UNITERM        ::= Const '(' (TERM* | (Name '->' TERM)*) ')'
Name           ::= UNICODESTRING

In that same document, in Example 6 (A RIF condition with named
arguments and its XML serialization),  you give the following
example:

   And (Exists ?Buyer ?P (
                 And (?P#cpt:purchase
                      ?P[cpt:buyer->?Buyer
                         cpt:seller->?Seller
                         cpt:item->cpt:book(cpt:author->?Author cpt:title->bks:LeRif)
                         cpt:price->49
                         cpt:currency->curr:USD]))
        ?Seller=?Author)

where you use CURIE's not UNICODESTRING's.

I first thought that you treat the whole sequence of chars such as
"cpt:author" as a single lexeme, but in fact you don't because the XML
serialization mapping rule uses the structure of the CURIE (e.g.,
<Name>&cpt;author</Name>). In other words, ':' must (and is) considered
a lexical punctuation token (such as we use everywhere else where
CURIE's are expected). However, your grammar does not derive CURIE's for
Name's but UNICODESTRING's; CURIE's are derived from CONSTSHORT's.

Please explain...

Thanks.

-hak
--
Hassan Aït-Kaci  *  ILOG, Inc. - Product Division R&D
http://koala.ilog.fr/wiki/bin/view/Main/HassanAitKaci

Received on Tuesday, 23 September 2008 02:30:34 UTC