Building source documents
To conform with the W3C Data Model specification, an incompatible change has been introduced
in this release: by default, "ignorable whitespace" is stripped from source documents before a query
or transformation commences.
If the document has a DTD, then ignorable whitespace is whitespace appearing between the child elements
of an element that is declared to have element-only content. Such whitespace is always reported as such
when a validating parser is used, but there appear to be differences between parsers as to whether it is
reported when not validating.
If the document has a schema, then ignorable whitespace is a whitespace text node appearing as a child
of an element that has element-only content.
If there is no DTD and no schema, then whitespace is never ignorable.
The presence of an
xml:space="preserve" attribute has no effect on this process.
This whitespace stripping is additional (and prior) to any whitespace stripping requested using
xsl:strip-space in an XSLT stylesheet. It occurs only when a document is built from a StreamSource
The default behavior can be overridden from the command line. The
commands have three new options:
-snone strips no whitespace,
ignorable whitespace, and
-sall strips all whitespace text nodes.
It is also possible to override the default behavior when using the
function, if query URI parameters are enabled, by adding the parameter
strip=no to the URI.