W3C home > Mailing lists > Public > www-voice@w3.org > July to September 2003

RE: SISR: More comments on April 2003 WD

From: Wyss, Felix <FelixW@inin.com>
Date: Thu, 31 Jul 2003 08:11:43 -0500
Message-ID: <58A40B582A73F54AB5D8739C0678F3A8057887A0@i3exchange.i3domain.inin.com>
To: "Serge LE HUITOUZE" <slehuitouze@telisma.com>, <www-voice@w3.org>

> > An alternate workaround would be the following:
> >
> > $command1 = (set | turn) 
> >             $object
> >             $state
> >             {$.o=$object; $.s=$state};
> >
> > private $object = $<http://www.example.com/object>;
> 
> This would not work as is: The semantics would be lost (see paragraph
> 5, Default Assignment, in SISR 2003 WD).
> The private rule should be written:
>  private $object = $<http://www.example.com/object> {$=$$};
> 

D'oh!  You are of course right.  I should have written it as: 

  private $object = $<http://www.example.com/object> {$=$$};


Thinking about this a bit more, there would be a way to solve this more generically.  The external rule reference production of SRGS could be extended as follows:

ExternalRuleRef ::=
  '$' (ABNF_URI | '$' ABNF_URI_with_Media_Type) '^<' GRRAttribute '>'

A corresponding attribute would have to be specified for the <ruleref> element of the XML representation.  

Your example could now be written as:

 $command1 = (set | turn) 
             $<http://www.example.com/object>^<$object>
             $state
             {$.o=$object;$.s=$state};

Technically, this really isn't much different from assigning the GRR to a temporary variable right after the external reference.  It thus may not be worth the change to the SRGS specification.  

--Felix
Received on Thursday, 31 July 2003 09:12:01 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 30 October 2006 12:48:58 GMT