XPath 3.1 implementation

The specification requires the functions unparsed-text(), unparsed-text-lines(), and unparsed-text-available() to be stable: that is, repeated calls within a single query or stylesheet execution are required to return the result. Achieving this is expensive, because it means saving the results in memory just in case they are needed again. Previous Saxon releases did not attempt to satisfy this requirement. In Saxon 9.8 it can be achieved at user option, by setting the configuration property STABLE_UNPARSED_TEXT. For performance reasons, the default remains that the results are not stable (that is, if the file contents change dynamically, a second call will return different results from the first).