Saxon document, wrapping a Saxon 9.7 TreeInfo object.
Saxon document builder using a Saxon DocumentBuilder and URI converter.
Saxon NodeInfo element wrapper.
Saxon NodeInfo element wrapper. It is efficient, because of an entirely custom query API implementation tailored to Saxon.
Saxon yaidom BackingElemApi wrapper around Saxon 9.7 NodeInfo backends.
Converter from yaidom simple elements and documents to Saxon wrapper elements and documents.
Converter from yaidom simple elements and documents to Saxon wrapper elements and documents.
We exploit the fact that yaidom simple elements and documents can be excellent builders for Saxon wrapper elements and documents (or builders for other element implementations).
Performance of this SAX-based solution is also pretty good. The implementation uses the fact that yaidom can convert a simple Document or Elem to a stream of SAX events on any SAX handler, and Saxon can provide such a SAX handler that happens to create a Saxon tiny tree.
Converter from yaidom Saxon wrapper elements and documents to yaidom simple elements and documents.
Converter from yaidom Saxon wrapper elements and documents to yaidom simple elements and documents. It is implemented by directly building simple Nodes from Saxon wrapper nodes.
Saxon-based BackingElemApi implementation that can be used as underlying element implementation in the TQA taxonomy DOM. If Saxon tiny trees are used under the hood, this implementation is very efficient, in particular in memory footprint.