Re: <foreach> tests in IR

Dear Andrew Hunt,

Thank you very much for pointing out these.

The VBWG will discuss these and get back to you shortly.

Sincerely,

Kazuyuki


Andrew Hunt wrote:
> Hi VBWG,
>  
> We have encountered a couple of issues with tests for <foreach> in the 
> VoiceXML 2.1 Implementation Report and a request for a clarification 
> of <foreach> in the Recommendation.  We would appreciate clarification 
> from the Voice Browser Working Group.
>  
> *1. Implementation Report tests [90] - Illegal Executable Content
> *
>  
> We suspect that Implementation Report test number 90 is incorrectly 
> defined.
>   http://www.w3.org/Voice/2007/voicexml21-ir/90/AssertID90.txml
>  
> Assertion 90 contains <if> and <throw> elements inside <foreach> 
> element which is in turn included in <prompt> element. This is invalid 
> according to VXML 2.1 Recommendation Section 6 (Using <foreach> to 
> concatenate prompts).  That section states that <prompt> can't contain 
> executable content, hence it can't contain <if> element.  The VXML 
> generated from the txml for these tests does not pass Schema 
> validation.  (Note that tests 155 and 156 verify that such documents 
> must be rejected) 
>  
> Recommendation: the <if> and <throw> should be removed from within 
> <foreach> in test case 90.  (Alternatively, close and reopen the 
> <prompt> element before and after the <foreach>)
>  
> *2. Implementation Report tests [155, 156] - error.badfetch*
>  
> Assertions 155 and 156 verify that error.badfetch is thrown if an 
> executable content is included in <prompt> element. We agree that the 
> required behaviour of throwing an error.badfetch is correct according 
> to VXML 2.1 Sec 6.
>   http://www.w3.org/Voice/2007/voicexml21-ir/155/foreach5bp.txml
>   http://www.w3.org/Voice/2007/voicexml21-ir/156/foreach5p.txml
>  
> However, the single test document includes <catch> element to catch 
> error.badfetch implying that handling of the error is done in the 
> context of the test document.  According to VXML 2.0 Rec 
> Section 2.3.4, the scope to handle fetch errors is platform specific. 
> If a VXML implementation invalidates the document on the stage of 
> checking it against VXML schema then it is not possible to handle 
> error.badfetch in the scope of the invalid document and the error 
> would be raised in the referring document.
>  
> Recommendation: we suggest that the test be modified to include an 
> initial referring page and including the badfetch handler in both the 
> referring page and also as-is in the document with <foreach>.  
> Catching a badfetch in either document would constitute a pass.
>  
> *3. Clarification: <foreach> as Implicit Prompts*
>  
> VXML 2.0 Section 4.1.2 says that you can leave out the <prompt> ... 
> </prompt> if the prompt consists entirely of PCDATA (contains no 
> speech markups) or consists of just an <audio> or <value> element. 
>  
> Since <foreach> has prompt-like behaviours we were asked whether it 
> was an Implicit Prompt (ala <audio>, <value>, PCDATA).  We are 
> assuming that because the VXML 2.1 Rec does not directly state that 
> <foreach> is an implicit prompt, it is NOT an implicit prompt.  So 
> wherever <foreach> occurs it is executable content and not an implicit 
> prompt (excepting within <prompt> which has specific behaviour definition)
>  
> Q: is it correct to assume that <foreach> is never an implicit prompt?
>  
> Thanks,
> Andrew
>  
> ---
> Andrew Hunt
> VP Engineering
> Holly Connects
>  


-- 
Kazuyuki Ashimura / W3C Multimodal & Voice Activity Lead
mailto: ashimura@w3.org
voice: +81.466.49.1170 / fax: +81.466.49.1171

Received on Monday, 17 September 2007 09:58:18 UTC