RE: VXML: Reg caching policy

Rajesh,

>> Does this mean that properties like documentmaxage, documentmaxstale, grammarmaxage, grammarmaxstale etc, may not have any default value at all..
That's correct. Let's call this null.

Unfortunately, there's no spec-compliant way for an application author to explicitly specify null if the platform they are developing on happens to specify a non-null value as its default. A change request has been submitted to the VBWG to address this limitation and to specify null as the universal default for these *max* properties in a future version of the VoiceXML specification.

Matt
From: www-voice-request@w3.org [mailto:www-voice-request@w3.org] On Behalf Of Rajesh N
Sent: Tuesday, April 08, 2008 10:14 PM
To: www-voice@w3.org
Subject: VXML: Reg caching policy

Hi,

I have a doubt regarding the application of caching policy specified in section 6.1.2 of Vxml 2.0 specification.

The caching policy is given as follows:

 *   If the resource is not present in the cache, fetch it from the server using get.
 *   If the resource is in the cache,

    *   If a maxage value is provided,

       *   If age of the cached resource <= maxage,

          *   If the resource has expired,

             *   Perform maxstale check.

          *   Otherwise, use the cached copy.

       *   Otherwise, fetch it from the server using get.

    *   Otherwise,

       *   If the resource has expired,

          *   Perform maxstale check.

       *   Otherwise, use the cached copy.

The "maxstale check" is:

 *   If maxstale is provided,

    *   If cached copy has exceeded its expiration time by no more than maxstale seconds, then use the cached copy.
    *   Otherwise, fetch it from the server using get.

 *   Otherwise, fetch it from the server using get.


The spec says that The maxage and maxstale properties are allowed to have no default value whatsoever. If the value is not provided by the document author, and the platform does not provide a default value, then the value is undefined and the 'Otherwise' clause of the algorithm applies. All other properties must provide a default value (either as given by the specification or by the platform).

Say,  a <goto> element is processed during interpretation of a VXML script. If maxage attribute is not specified for <goto>, the value of the documentmaxage property must be taken. As I understand it, the documentmaxage property MUST have a value during interpretation opf the <goto> element. Either this property is defined in the current VXML script, or the default value is specified by the platform through some configuration.
Similarly, even if maxstale attribute is not specified for <goto>, the value of documentmaxstale property must be taken. Again, the documentmaxstale property MUST have a value during interpretation of the <goto> element. Either this property is defined in the current VXML script, or the default value is specified by the platform through some configuration.

So,  in these circumstances, where the values for maxage and maxstale parameters are DEFINITELY derive-able, how does the "Otherwise" section (underlined portion above) ever get executed?

Kindly correct me if my understanding is not correct here.

In section 6.3.5, I have a confusion regarding the statement "(note that maxage and maxstale properties may have no default value - see Section 6.1.2<file:///D:\Project%20Learn\vxml\VXML%202.0\Voice%20Extensible%20Markup%20Language%20(VoiceXML)%20Version%202_0.htm#dml6.1.2>)" . Does this mean that properties like documentmaxage, documentmaxstale, grammarmaxage, grammarmaxstale etc, may not have any default value at all..
If it is so, I think my query above is invalid. (ie. if <goto> does not specify maxage attribute and there is no default value available for documentmaxage, then the "otherwise" section could be applicable.

Thanks
Rajesh

Received on Wednesday, 9 April 2008 06:22:55 UTC