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
<file:///D:/Project%20Learn/vxml/VXML%202.0/Voice%20Extensible%20Markup%20La
nguage%20(VoiceXML)%20Version%202_0.htm#dml6.1.2> Section 6.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 05:14:31 UTC