Class StreamingTransformerImpl


public class StreamingTransformerImpl extends AbstractTransformerImpl
Saxon implementation of the JAXP Transformer interface. This implementation of Transformer is used when the factory is a
invalid reference
com.saxonica.config.StreamingTransformerFactory
, and the effect is that the transform(Source, Result) method accepts a StreamSource or SAXSource and processes it in streaming mode, assuming that the initial mode is labelled with streamable="yes". The global context item in such a transformation will be absent, so referring to "." within a global variable is an error.
  • Constructor Details

  • Method Details

    • transform

      public void transform(Source xmlSource, Result outputTarget) throws XPathException

      Transform the XML Source to a Result. Specific transformation behavior is determined by the settings of the TransformerFactory in effect when the Transformer was instantiated and any modifications made to the Transformer instance.

      An empty Source is represented as an empty document as constructed by DocumentBuilder.newDocument(). The result of transforming an empty Source depends on the transformation behavior; it is not always an empty Result.

      Overrides:
      transform in class IdentityTransformer
      Parameters:
      xmlSource - The XML input to transform.
      outputTarget - The Result of transforming the xmlSource.
      Throws:
      XPathException - If an unrecoverable error occurs during the course of the transformation.
    • setConvertedParameter

      protected void setConvertedParameter(QName name, XdmValue value)
      Specified by:
      setConvertedParameter in class AbstractTransformerImpl
    • clearParameters

      public void clearParameters()
      Clear all parameters set with setParameter.
      Overrides:
      clearParameters in class AbstractTransformerImpl
    • setURIResolver

      public void setURIResolver(URIResolver resolver)
      Set an object that will be used to resolve URIs used in document().

      If the resolver argument is null, the URIResolver value will be cleared and the transformer will no longer have a resolver.

      Overrides:
      setURIResolver in class IdentityTransformer
      Parameters:
      resolver - An object that implements the URIResolver interface, or null.
    • setErrorListener

      public void setErrorListener(ErrorListener listener) throws IllegalArgumentException
      Set the error event listener in effect for the transformation.
      Overrides:
      setErrorListener in class IdentityTransformer
      Parameters:
      listener - The new error listener.
      Throws:
      IllegalArgumentException - if listener is null.
    • setInitialMode

      public void setInitialMode(String name) throws IllegalArgumentException
      Supply an initial mode for a transformation.

      This is a Saxon extension to the JAXP interface, needed for XSLT 2.0

      Parameters:
      name - the name of the initial mode, in Clark notation (either a local name, or "{uri}local")
      Throws:
      IllegalArgumentException - if the argument is invalid, for example if the format of the name is incorrect or if there is no mode with this name
    • getUnderlyingXsltTransformer

      public Xslt30Transformer getUnderlyingXsltTransformer()
      Get the underlying s9api implementation class wrapped by this JAXP Transformer
      Returns:
      the underlying s9api XsltTransformer
    • getUnderlyingController

      public Controller getUnderlyingController()
      Get the internal Saxon Controller instance that implements this transformation. Note that the Controller interface will not necessarily remain stable in future releases
      Specified by:
      getUnderlyingController in class AbstractTransformerImpl
      Returns:
      the underlying Saxon Controller instance
    • newXMLFilter

      public XMLFilter newXMLFilter()
      Create a JAXP XMLFilter which allows this transformation to be added to a SAX pipeline
      Specified by:
      newXMLFilter in class AbstractTransformerImpl
      Returns:
      the transformation in the form of an XMLFilter
    • newTransformerHandler

      public TransformerHandler newTransformerHandler() throws XPathException
      Get a TransformerHandler that can be used to run the transformation by feeding in SAX events
      Throws:
      XPathException