This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
At the end of 11.9.1.1 we say: If the on-empty expression is evaluated and returns an empty sequence, then the validation and type attributes are ignored. However, if the result of the on-empty expression is a node, then it is subjected to validation as determined by these attributes, along with [xsl:]default-validation where relevant. However, validation is defined only for document, element, and attribute nodes. We should change this to: If the on-empty expression is evaluated and returns an empty sequence, or if it returns a text, comment, processing-instruction, or namespace node, then the validation and type attributes are ignored. However, if the result of the on-empty expression is a document, element, or attribute node, then it is subjected to validation as determined by these attributes, along with [xsl:]default-validation where relevant.
Note also, we do not say explicitly what the focus is for evaluation of xsl:copy/@on-empty. It should be the same focus as for evaluation of the xsl:copy/@select attribute.
Note that on-empty was meant to be present on more instructions...
Reported here (so as not to hijack this thread): Bug#24378 [1] [1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=24378 (sorry, I don't know how to inline links to other bugs, I know it is possible, but I tried several syntaxes to no avail)
The WG accepted the changes in comments 0 and 1 and the changes have been applied to the editor's draft (R).
The decision on this bug was obsoleted by the decision on bug 24378, which made xsl:copy/@on-empty applicable only to element nodes.