Package

eu.cdevreeze.yaidom

saxon

Permalink

package saxon

Saxon-based BackingNodes.Elem implementation that can be used as underlying element implementation in any "yaidom dialect". If Saxon tiny trees are used under the hood, this implementation is very efficient, in particular in memory footprint.

This package depends on the current latest major Saxon version considered stable, like 9.8. If other major Saxon versions must be supported, consider copying and adapting this code, or yaidom itself should provide a separate source tree (with copied and adapted code) from which artifacts are created that target that other Saxon major version(s).

The dependency is on Saxon-HE, so features of Saxon-EE are not used here. That does not mean that they are not accessible, of course.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. saxon
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait SaxonCanBeDocumentChild extends SaxonNode with CanBeDocumentChild

    Permalink
  2. final class SaxonComment extends SaxonNode with SaxonCanBeDocumentChild with Comment

    Permalink
  3. final class SaxonDocument extends BackingDocumentApi

    Permalink

    Saxon document, wrapping a Saxon (9.7+) TreeInfo object.

  4. final class SaxonElem extends SaxonNode with Elem with SaxonCanBeDocumentChild

    Permalink

    Saxon NodeInfo element wrapper.

    Saxon NodeInfo element wrapper. It is efficient, because of an entirely custom query API implementation tailored to Saxon.

  5. sealed abstract class SaxonNode extends Node

    Permalink

    Saxon yaidom BackingNodes.Elem wrapper around Saxon (9.7+) NodeInfo backends.

    Saxon yaidom BackingNodes.Elem wrapper around Saxon (9.7+) NodeInfo backends. Saxon-HE is the minimal requirement, but Saxon-EE can be used instead, of course.

    Typically the wrapped NodeInfo uses the tiny tree model, in which case these yaidom wrapper nodes for Saxon are quite fast in query processing and especially quite memory-efficient.

    Be careful to cautiously manage the underlying Saxon Processor (or Configuration) objects in the application using these Saxon node wrappers. Do not shared them naively, and also do not use new instances of them naively.

    Yaidom EName and QName instances are created from Saxon NodeInfo objects using the global ENameProvider.globalENameProvider and QNameProvider.globalQNameProvider, respectively. Consider using efficient implementations for those name providers that use name pooling (at least for commonly used names).

  6. final class SaxonProcessingInstruction extends SaxonNode with SaxonCanBeDocumentChild with ProcessingInstruction

    Permalink
  7. final class SaxonText extends SaxonNode with Text

    Permalink

Value Members

  1. object SaxonDocument

    Permalink
  2. object SaxonNode

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped