[Bug 25158] [xslt 3.0] Error for uninitialized parameter of xsl:iterate

https://www.w3.org/Bugs/Public/show_bug.cgi?id=25158

--- Comment #1 from Michael Kay <mike@saxonica.com> ---
I had a little difficulty disentangling the structure here. I think the
decision tree is as follows, where $p is the xsl:param element:

* if ($p/@required="yes" or $p/parent::xsl:function) then the parameter is
*explicitly required*

* if a parameter is *explicitly required* then no default value must be
specified (static error, no code given)

* if a parameter is not *explicitly required*:

** if there is an explicit default value (a select attribute or non-empty
seq-tor), then the default must conform to the required type [XTTE0600]

** if there is no explicit default, and the implicit default does not conform
to the required type, then the parameter is *implicitly required*

** in general it is a dynamic error if a parameter is explicitly or implicitly
required and no value is supplied by the caller ([XTDE0700] or [XTDE0610]
depending on whether it is explicitly or implicitly required)

** but it is a static error (XTSE0690) if an explicitly required non-tunnel
parameter is not supplied by xsl:call-template

** it is a static error if xsl:iterate/xsl:param is implicitly required (the
subject of this bug)

The above rules are very dispersed around the spec; I think it's worth trying
to bring them into one place (9.2).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 25 April 2014 11:48:50 UTC