> > 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. --FelixReceived 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