Package net.sf.saxon.event
Class Builder
java.lang.Object
net.sf.saxon.event.Builder
- Direct Known Subclasses:
TinyBuilder
,TreeBuilder
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
FieldsModifier and TypeFieldDescriptionprotected String
protected Configuration
protected NodeInfo
protected boolean
static final int
Constant denoting the "linked tree" in which each node is represented as an objectprotected NamePool
protected PipelineConfiguration
static final int
Alternative constant denoting the "linked tree" in which each node is represented as an object Retained for backwards compatibilityprotected boolean
protected String
protected boolean
static final int
Constant denoting the "tiny tree" in which the tree is represented internally using arrays of integersFields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic NodeInfo
build
(Source source, Stripper stripper, Configuration config) Static method to build a document from any kind of Source object.static NodeInfo
build
(Source source, Stripper stripper, PipelineConfiguration pipe) Static method to build a document from any kind of Source object.void
close()
Notify the end of the event streamvoid
Notify the end of a document nodeGet the base URI of the document node of the tree being constructed by this builderGet the current root node.Get the pipeline configurationThe SystemId is equivalent to the document-uri property defined in the XDM data model.boolean
isTiming()
Get timing optionvoid
open()
Notify the start of the event streamvoid
setBaseURI
(String baseURI) Set the base URI of the document node of the tree being constructed by this buildervoid
setLineNumbering
(boolean lineNumbering) Set line numbering on or offvoid
Set the pipeline configurationvoid
setSystemId
(String systemId) The SystemId is equivalent to the document-uri property defined in the XDM data model.void
setTiming
(boolean on) Set timing option on or offvoid
startDocument
(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 Details
-
LINKED_TREE
public static final int LINKED_TREEConstant denoting the "linked tree" in which each node is represented as an object- See Also:
-
STANDARD_TREE
public static final int STANDARD_TREEAlternative constant denoting the "linked tree" in which each node is represented as an object Retained for backwards compatibility- See Also:
-
TINY_TREE
public static final int TINY_TREEConstant denoting the "tiny tree" in which the tree is represented internally using arrays of integers- See Also:
-
pipe
-
config
-
namePool
-
systemId
-
baseURI
-
currentRoot
-
lineNumbering
protected boolean lineNumbering -
started
protected boolean started -
timing
protected boolean timing
-
-
Constructor Details
-
Builder
public Builder()create a Builder and initialise variables
-
-
Method Details
-
setPipelineConfiguration
Description copied from interface:Receiver
Set the pipeline configuration- Specified by:
setPipelineConfiguration
in interfaceReceiver
-
getPipelineConfiguration
Description copied from interface:Receiver
Get the pipeline configuration- Specified by:
getPipelineConfiguration
in interfaceReceiver
-
getConfiguration
-
setSystemId
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:
setSystemId
in interfaceReceiver
- Specified by:
setSystemId
in interfaceResult
- Parameters:
systemId
- the SystemId, that is, the document-uri.
-
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:
getSystemId
in interfaceResult
- Returns:
- the SystemId, that is, the document-uri.
-
setBaseURI
Set the base URI of the document node of the tree being constructed by this builder- Parameters:
baseURI
- the base URI
-
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
Description copied from interface:Receiver
Notify the start of the event stream- Specified by:
open
in interfaceReceiver
- Throws:
XPathException
-
close
Description copied from interface:Receiver
Notify the end of the event stream- Specified by:
close
in interfaceReceiver
- Throws:
XPathException
-
startDocument
Start of a document node. This event is ignored: we simply add the contained elements to the current document- Specified by:
startDocument
in interfaceReceiver
- Throws:
XPathException
-
endDocument
Notify the end of a document node- Specified by:
endDocument
in interfaceReceiver
- Throws:
XPathException
-
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(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(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
-