- From: Petrova Anastasia <Anastasia.Petrova@bercut.com>
- Date: Fri, 20 Oct 2006 17:07:42 +0400
- To: "Mihai Sucan" <mihai.sucan@gmail.com>, <www-voice@w3.org>
But the SRGS tells: Both the XML Form and ABNF Form permit the grammar header to optionally declare a single rule to be the root rule of the grammar. The rule declared as the root rule must be defined within the scope of the grammar. The rule declared as the root rule may be scoped as either public or private. So it's not required to specify the root rule. And if I don't, which rules will work? Only public rules? Or none of the existing rules? -----Original Message----- From: Petrova Anastasia Sent: Friday, October 20, 2006 16:58 To: 'Mihai Sucan'; www-voice@w3.org Subject: RE: private rules So you mean that root rule must always be defined? And only rules used in the root one can be matched? It is not enough to specify a public rule to make it work? -----Original Message----- From: Mihai Sucan [mailto:mihai.sucan@gmail.com] Sent: Friday, October 20, 2006 15:53 To: Petrova Anastasia; www-voice@w3.org Subject: Re: private rules Le Fri, 20 Oct 2006 14:27:33 +0300, Petrova Anastasia <Anastasia.Petrova@bercut.com> a Êcrit: > Hello. A private-scoped rule cannot be referenced in the rule > definitions of other grammars and in other non-grammar documents and is > directly accessible only within its containing grammar. But if I have a > private rule, and user says something matching this rule, will this mean > that e.g. a field is filled? Or only public rules can be matched by user > input? > > Best regards, Anastasia Petrova Hello! Yes, a private-scoped rule cannot be referenced in the definition of other grammar rules, nor in non-grammar documents. It's only directly accessible within its containing grammar. Also, your VoiceXML <grammar /> element cannot use as a root a private rule. However, a private rule which is not used will never match. The same applies to public rules. So, given the following SRGS grammar: START:-- root $whatever; $pages = contact | services | portfolio; $numbers = one | two | three; $countries = romania | france | germany; public $people = me | you | her; public $whatever = $pages | $countries; --EOF; $numbers and $people will never match, even if the user says "one/two/three" or "me/you/her". This is because the root rule $whatever never makes use of $numbers nor $people rules. -- http://www.robodesign.ro ROBO Design - We bring you the future
Received on Friday, 20 October 2006 13:07:56 UTC