# Highlights

This page lists some of the most important new features introduced in Saxon 9.0

1. There is a new Java API, called s9api. Existing APIs remain supported.

2. The command line interfaces have received a revamp, while retaining backwards compatibility for most options.

3. The schema processor now supports assertions, as defined in XML Schema 1.1.

4. A new extension function allows multiple document output in XQuery.

5. It is now possible to save a compiled schema (the schema component model) as XML.

6. There is a new model for pull-based evaluation of queries., improving the ability to integrate into a pull-based pipeline architecture.

7. The latest draft of the XQJ specification (XQuery API for Java) is implemented

8. Number and date formatting has been added for a number of additional European languages including Belgian French, Flemish, Dutch, Danish, Swedish, and Italian

9. A number of new optimizations have been introduced. These include function and variable inlining, wider use of automatic indexing, wider use of tail call optimization, hashing for large xsl:choose expressions, and a speed-up of the DOM interface.

10. Document projection analyzes a query and discards the parts of the source tree that are not needed to answer the query, giving a significant saving in tree-building time and memory.

11. Optimized expression trees can now be output ("explained") in an XML format, making it amenable to processing or graphical rendition.

Please note that queries compiled into Java code are not backwards-compatible at this release; they must be recompiled.

Next