Serialization

Two new serialization methods are introduced, saxon:base64Binary and saxon:hexBinary. These are useful when writing binary output files such as images. They can be used in conjunction with the xsl:result-document instruction, using a result tree whose text nodes contain, in base64 or hexBinary format, the binary data to be output. These serialization methods require Saxon-PE or higher.

The existing serialization method saxon:xquery is now available only in Saxon-PE or higher.

The suppress-indentation serialization parameter (previously available as an extension in the Saxon namespace) is now implemented.

A new serialization property saxon:line-length is introduced. Its value is an integer, with default value 80. With both the HTML and XML output methods, attributes are output on a new line if they would otherwise extend beyond this column position. With the HTML output method, furthermore, text lines are split at this line length when possible. In previous releases, the HTML output method attempted to split lines that exceeded 120 characters in length.

In the XQJ interface, serialization properties are now validated. The XQJ spec is not very clear about how all parameters should be supplied: follow the conventions of JAXP interfaces such as Transformer.setOutputProperty(). In particular, the values for boolean properties should be set to the string "yes" or "no".