Bug 29431 - item separator

I have been applying the changes resulting from this bug which we accepted today. They go a little bit further than I had realised. I've committed the results and I think it would be useful if people reviewed the changes.

One or two areas where I hadn't foreseen that changes would be needed:

(a) Interaction with validation. On xsl:result-document you can request validation. What exactly are you validating? The rule now is that you are validating the tree that results from applying the sequence normalization process defined in the serialization spec. Note that this tree will contain item-separators if requested. I have also stated that if you don't do sequence normalization, then the validation attributes are ignored: this will happen if you use the raw result before tree construction, or if you select the json or adaptive serialization methods.

(b) The question of whether a principal result is produced in the case where it is empty. XSLT 2.0 has the convoluted rule that in this case, the principal result is produced if and only if there is no secondary result. A lot of this is now API-dependent. I've left a reference to the rule, but in relaxed form.

You'll find most of the changes at

https://www.w3.org/XML/Group/qtspecs/specifications/xslt-30/html/Overview-diff.html#post-processing

and

https://www.w3.org/XML/Group/qtspecs/specifications/xslt-30/html/Overview-diff.html#creating-result-trees

Michael Kay
Saxonica

Received on Thursday, 3 March 2016 23:46:24 UTC