Package net.sf.saxon.event
Class Builder
- java.lang.Object
-
- net.sf.saxon.event.Builder
-
- All Implemented Interfaces:
javax.xml.transform.Result,Receiver
- Direct Known Subclasses:
TinyBuilder,TreeBuilder
public abstract class Builder extends java.lang.Object implements Receiver
The abstract Builder class is responsible for taking a stream of SAX events and constructing a Document tree. There is one concrete subclass for each tree implementation.- Author:
- Michael H. Kay
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringbaseURIprotected Configurationconfigprotected NodeInfocurrentRootprotected booleanlineNumberingstatic intLINKED_TREEConstant denoting the "linked tree" in which each node is represented as an objectprotected NamePoolnamePoolprotected PipelineConfigurationpipestatic intSTANDARD_TREEAlternative constant denoting the "linked tree" in which each node is represented as an object Retained for backwards compatibilityprotected booleanstartedprotected java.lang.StringsystemIdprotected booleantimingstatic intTINY_TREEConstant denoting the "tiny tree" in which the tree is represented internally using arrays of integers
-
Constructor Summary
Constructors Constructor Description Builder()create a Builder and initialise variables
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static NodeInfobuild(javax.xml.transform.Source source, Stripper stripper, Configuration config)Static method to build a document from any kind of Source object.static NodeInfobuild(javax.xml.transform.Source source, Stripper stripper, PipelineConfiguration pipe)Static method to build a document from any kind of Source object.voidclose()Notify the end of the event streamvoidendDocument()Notify the end of a document nodejava.lang.StringgetBaseURI()Get the base URI of the document node of the tree being constructed by this builderConfigurationgetConfiguration()NodeInfogetCurrentRoot()Get the current root node.PipelineConfigurationgetPipelineConfiguration()Get the pipeline configurationjava.lang.StringgetSystemId()The SystemId is equivalent to the document-uri property defined in the XDM data model.booleanisTiming()Get timing optionvoidopen()Notify the start of the event streamvoidsetBaseURI(java.lang.String baseURI)Set the base URI of the document node of the tree being constructed by this buildervoidsetLineNumbering(boolean lineNumbering)Set line numbering on or offvoidsetPipelineConfiguration(PipelineConfiguration pipe)Set the pipeline configurationvoidsetSystemId(java.lang.String systemId)The SystemId is equivalent to the document-uri property defined in the XDM data model.voidsetTiming(boolean on)Set timing option on or offvoidstartDocument(int properties)Start of a document node.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.event.Receiver
attribute, characters, comment, endElement, namespace, processingInstruction, setUnparsedEntity, startContent, startElement
-
-
-
-
Field Detail
-
LINKED_TREE
public static final int LINKED_TREE
Constant denoting the "linked tree" in which each node is represented as an object- See Also:
- Constant Field Values
-
STANDARD_TREE
public static final int STANDARD_TREE
Alternative constant denoting the "linked tree" in which each node is represented as an object Retained for backwards compatibility- See Also:
- Constant Field Values
-
TINY_TREE
public static final int TINY_TREE
Constant denoting the "tiny tree" in which the tree is represented internally using arrays of integers- See Also:
- Constant Field Values
-
pipe
protected PipelineConfiguration pipe
-
config
protected Configuration config
-
namePool
protected NamePool namePool
-
systemId
protected java.lang.String systemId
-
baseURI
protected java.lang.String baseURI
-
currentRoot
protected NodeInfo currentRoot
-
lineNumbering
protected boolean lineNumbering
-
started
protected boolean started
-
timing
protected boolean timing
-
-
Method Detail
-
setPipelineConfiguration
public void setPipelineConfiguration(PipelineConfiguration pipe)
Description copied from interface:ReceiverSet the pipeline configuration- Specified by:
setPipelineConfigurationin interfaceReceiver
-
getPipelineConfiguration
public PipelineConfiguration getPipelineConfiguration()
Description copied from interface:ReceiverGet the pipeline configuration- Specified by:
getPipelineConfigurationin interfaceReceiver
-
getConfiguration
public Configuration getConfiguration()
-
setSystemId
public void setSystemId(java.lang.String systemId)
The SystemId is equivalent to the document-uri property defined in the XDM data model. It should be set only in the case of a document that is potentially retrievable via this URI. This means it should not be set in the case of a temporary tree constructed in the course of executing a query or transformation.- Specified by:
setSystemIdin interfaceReceiver- Specified by:
setSystemIdin interfacejavax.xml.transform.Result- Parameters:
systemId- the SystemId, that is, the document-uri.
-
getSystemId
public java.lang.String getSystemId()
The SystemId is equivalent to the document-uri property defined in the XDM data model. It should be set only in the case of a document that is potentially retrievable via this URI. This means the value will be null in the case of a temporary tree constructed in the course of executing a query or transformation.- Specified by:
getSystemIdin interfacejavax.xml.transform.Result- Returns:
- the SystemId, that is, the document-uri.
-
setBaseURI
public void setBaseURI(java.lang.String baseURI)
Set the base URI of the document node of the tree being constructed by this builder- Parameters:
baseURI- the base URI
-
getBaseURI
public java.lang.String getBaseURI()
Get the base URI of the document node of the tree being constructed by this builder- Returns:
- the base URI
-
setLineNumbering
public void setLineNumbering(boolean lineNumbering)
Set line numbering on or off- Parameters:
lineNumbering- set to true if line numbers are to be maintained for nodes in the tree being constructed.
-
setTiming
public void setTiming(boolean on)
Set timing option on or off
-
isTiming
public boolean isTiming()
Get timing option
-
open
public void open() throws XPathExceptionDescription copied from interface:ReceiverNotify the start of the event stream- Specified by:
openin interfaceReceiver- Throws:
XPathException
-
close
public void close() throws XPathExceptionDescription copied from interface:ReceiverNotify the end of the event stream- Specified by:
closein interfaceReceiver- Throws:
XPathException
-
startDocument
public void startDocument(int properties) throws XPathExceptionStart of a document node. This event is ignored: we simply add the contained elements to the current document- Specified by:
startDocumentin interfaceReceiver- Throws:
XPathException
-
endDocument
public void endDocument() throws XPathExceptionNotify the end of a document node- Specified by:
endDocumentin interfaceReceiver- Throws:
XPathException
-
getCurrentRoot
public NodeInfo getCurrentRoot()
Get the current root node. This will normally be a document node, but if the root of the tree is an element node, it can be an element.- Returns:
- the root of the tree that is currently being built, or that has been most recently built using this builder
-
build
public static NodeInfo build(javax.xml.transform.Source source, Stripper stripper, Configuration config) throws XPathException
Static method to build a document from any kind of Source object. If the source is already in the form of a tree, it is wrapped as required.- Parameters:
source- Any javax.xml.transform.Source objectstripper- A stripper object, if whitespace text nodes are to be stripped; otherwise null.config- The Configuration object- Returns:
- the NodeInfo of the start node in the resulting document object.
- Throws:
XPathException
-
build
public static NodeInfo build(javax.xml.transform.Source source, Stripper stripper, PipelineConfiguration pipe) throws XPathException
Static method to build a document from any kind of Source object. If the source is already in the form of a tree, it is wrapped as required.- Parameters:
source- Any javax.xml.transform.Source objectstripper- A stripper object, if whitespace text nodes are to be stripped; otherwise null.pipe- The PipelineConfiguration object- Returns:
- the NodeInfo of the start node in the resulting document object.
- Throws:
XPathException
-
-