Package net.sf.saxon.resource
Class ActiveSAXSource
- java.lang.Object
-
- javax.xml.transform.sax.SAXSource
-
- net.sf.saxon.resource.ActiveSAXSource
-
- All Implemented Interfaces:
javax.xml.transform.Source
,ActiveSource
public class ActiveSAXSource extends javax.xml.transform.sax.SAXSource implements ActiveSource
This class extends the standard SAXSource class by providing adeliver(Receiver, ParseOptions)
method, meaning that Saxon can treat it just like any otherActiveSource
implementation.This makes it easier to extract code from the product that's specific to the Java platform (in particular, support for SAX APIs).
-
-
Constructor Summary
Constructors Constructor Description ActiveSAXSource(javax.xml.transform.sax.SAXSource source)
Construct an ActiveSAXSource from a SAXSourceActiveSAXSource(org.xml.sax.InputSource inputSource, Configuration config)
ActiveSAXSource(org.xml.sax.XMLReader parser, org.xml.sax.InputSource source)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
configureParser(org.xml.sax.XMLReader parser)
Configure a SAX parser to ensure it has the correct namespace properties setvoid
deliver(Receiver receiver, ParseOptions options)
Deliver the content of the source to a supplied Receiver.void
setParserPool(java.util.function.Consumer<org.xml.sax.XMLReader> parserPool)
Supply a mechanism to recycle the XMLReader after use-
Methods inherited from class javax.xml.transform.sax.SAXSource
getInputSource, getSystemId, getXMLReader, isEmpty, setInputSource, setSystemId, setXMLReader, sourceToInputSource
-
-
-
-
Constructor Detail
-
ActiveSAXSource
public ActiveSAXSource(org.xml.sax.XMLReader parser, org.xml.sax.InputSource source)
-
ActiveSAXSource
public ActiveSAXSource(javax.xml.transform.sax.SAXSource source) throws java.lang.IllegalArgumentException, XPathException
Construct an ActiveSAXSource from a SAXSource- Parameters:
source
- the input source object, whose properties are copied. The source must include a non-null XMLReader.- Throws:
java.lang.IllegalArgumentException
XPathException
-
ActiveSAXSource
public ActiveSAXSource(org.xml.sax.InputSource inputSource, Configuration config)
-
-
Method Detail
-
setParserPool
public void setParserPool(java.util.function.Consumer<org.xml.sax.XMLReader> parserPool)
Supply a mechanism to recycle the XMLReader after use- Parameters:
parserPool
- a place to return the parser after parsing is complete
-
deliver
public void deliver(Receiver receiver, ParseOptions options) throws XPathException
Description copied from interface:ActiveSource
Deliver the content of the source to a supplied Receiver.For many (but not all) implementations of
Source
, this method consumes the source and can therefore only be called once.- Specified by:
deliver
in interfaceActiveSource
- Parameters:
receiver
- the receiver to which events representing the parsed XML document will be sentoptions
- options for parsing the source- Throws:
XPathException
- if parsing fails for any reason. The detailed diagnostics will have been sent to the error reporter.
-
configureParser
public static void configureParser(org.xml.sax.XMLReader parser) throws XPathException
Configure a SAX parser to ensure it has the correct namespace properties set- Parameters:
parser
- the parser to be configured- Throws:
XPathException
- if the parser cannot be configured to the required settings (namespaces=true, namespace-prefixes=false). Note that the SAX specification requires every XMLReader to support these settings, so this error implies that the XMLReader is non-conformant; this is not uncommon in cases where the XMLReader is user-written.
-
-