public class ContentHandlerProxy extends java.lang.Object implements Receiver
Note that in general the output passed to a Receiver corresponds to an External General Parsed Entity. A SAX2 ContentHandler only expects to deal with well-formed XML documents, so we only pass it the contents of the first element encountered, unless the saxon:require-well-formed output property is set to "no".
This ContentHandlerProxy provides no access to type information. For a ContentHandler that
makes type information available, see com.saxonica.ee.jaxp.TypedContentHandler
The ContentHandlerProxy can also be nominated as a TraceListener, to receive notification of trace events.
| Modifier and Type | Class and Description |
|---|---|
static class |
ContentHandlerProxy.ContentHandlerProxyTraceListener
Create a TraceListener that will collect information about the current
location in the source document.
|
| Modifier and Type | Field and Description |
|---|---|
protected org.xml.sax.ContentHandler |
handler |
protected org.xml.sax.ext.LexicalHandler |
lexicalHandler |
| Constructor and Description |
|---|
ContentHandlerProxy() |
| Modifier and Type | Method and Description |
|---|---|
void |
characters(java.lang.CharSequence chars,
Location locationId,
int properties)
Character data
|
void |
close()
Notify the end of the event stream
|
void |
comment(java.lang.CharSequence chars,
Location locationId,
int properties)
Output a comment.
|
void |
endDocument()
Notify the end of the document
|
void |
endElement()
End of element
|
Configuration |
getConfiguration()
Get the Saxon configuration
|
Location |
getCurrentLocation()
Get the current location identifier
|
PipelineConfiguration |
getPipelineConfiguration()
Get the pipeline configuration
|
java.lang.String |
getSystemId()
Get the System ID of the destination tree
|
ContentHandlerProxy.ContentHandlerProxyTraceListener |
getTraceListener()
Get the associated TraceListener that receives notification of trace events
|
org.xml.sax.ContentHandler |
getUnderlyingContentHandler()
Get the underlying content handler
|
boolean |
isRequireWellFormed()
Ask whether the content handler can handle a stream of events that is merely
well-balanced, or whether it can only handle a well-formed sequence.
|
boolean |
isUndeclareNamespaces()
Ask whether namespace undeclaration events (for a non-null prefix) should be notified.
|
protected void |
notifyNotWellFormed()
The following function is called when it is found that the output is not a well-formed document.
|
void |
open()
Notify the start of the event stream
|
void |
processingInstruction(java.lang.String target,
java.lang.CharSequence data,
Location locationId,
int properties)
Processing Instruction
|
void |
setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)
Set the Lexical Handler to be used.
|
void |
setOutputProperties(java.util.Properties details)
Set the output details.
|
void |
setPipelineConfiguration(PipelineConfiguration pipe)
Set the pipeline configuration
|
void |
setRequireWellFormed(boolean wellFormed)
Set whether the content handler can handle a stream of events that is merely
well-balanced, or whether it can only handle a well-formed sequence.
|
void |
setSystemId(java.lang.String systemId)
Set the System ID of the destination tree
|
void |
setUndeclareNamespaces(boolean undeclareNamespaces)
Set whether namespace undeclaration events (for a non-null prefix) should be notified.
|
void |
setUnderlyingContentHandler(org.xml.sax.ContentHandler handler)
Set the underlying content handler.
|
void |
setUnparsedEntity(java.lang.String name,
java.lang.String systemID,
java.lang.String publicID)
Notify an unparsed entity URI.
|
void |
startDocument(int properties)
Notify the start of the document.
|
void |
startElement(NodeName elemName,
SchemaType type,
AttributeMap attributes,
NamespaceMap namespaces,
Location location,
int properties)
Notify the start of an element
|
boolean |
usesTypeAnnotations()
Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations
supplied on element and attribute events
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitappend, append, handlesAppendprotected org.xml.sax.ContentHandler handler
protected org.xml.sax.ext.LexicalHandler lexicalHandler
public void setUnderlyingContentHandler(org.xml.sax.ContentHandler handler)
LexicalHandler, then it will also receive
notification of lexical events such as comments.handler - the SAX content handler to which all events will be directedpublic org.xml.sax.ContentHandler getUnderlyingContentHandler()
public void setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)
handler - the SAX lexical handler to which lexical events (such as comments) will
be notified.public void setPipelineConfiguration(PipelineConfiguration pipe)
setPipelineConfiguration in interface Receiverpipe - the pipeline configurationpublic PipelineConfiguration getPipelineConfiguration()
getPipelineConfiguration in interface Receiverpublic Configuration getConfiguration()
public void setSystemId(java.lang.String systemId)
setSystemId in interface javax.xml.transform.ResultsetSystemId in interface ReceiversystemId - the system ID (effectively the base URI)public java.lang.String getSystemId()
getSystemId in interface javax.xml.transform.Resultpublic ContentHandlerProxy.ContentHandlerProxyTraceListener getTraceListener()
public Location getCurrentLocation()
public void setUnparsedEntity(java.lang.String name,
java.lang.String systemID,
java.lang.String publicID)
throws XPathException
setUnparsedEntity in interface Receivername - The name of the unparsed entitysystemID - The system identifier of the unparsed entitypublicID - The public identifier of the unparsed entityXPathException - if an error occurspublic void setOutputProperties(java.util.Properties details)
details - the serialization properties. The only values used by this implementation are
SaxonOutputKeys.REQUIRE_WELL_FORMED and SaxonOutputKeys.UNDECLARE_PREFIXES.public boolean isRequireWellFormed()
public void setRequireWellFormed(boolean wellFormed)
wellFormed - set to true if the content handler requires the event stream to represent a well-formed
XML document (containing exactly one top-level element node and no top-level text nodes). Otherwise,
multiple top-level elements and text nodes are allowed, as in the XDM model.public boolean isUndeclareNamespaces()
public void setUndeclareNamespaces(boolean undeclareNamespaces)
undeclareNamespaces - true if namespace undeclarations (xmlns:p="") are to be outputpublic void open()
throws XPathException
open in interface ReceiverXPathException - if an error occurspublic void close()
throws XPathException
close in interface ReceiverXPathException - if an error occurspublic void startDocument(int properties)
throws XPathException
startDocument in interface Receiverproperties - XPathException - if an error occurspublic void endDocument()
throws XPathException
endDocument in interface ReceiverXPathException - if an error occurspublic void startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties) throws XPathException
startElement in interface ReceiverelemName - the name of the element.type - the type annotation of the element.attributes - the attributes of this elementnamespaces - the in-scope namespaces of this element: generally this is all the in-scope
namespaces, without relying on inheriting namespaces from parent elementslocation - an object providing information about the module, line, and column where the node originatedproperties - bit-significant properties of the element node. If there are no relevant
properties, zero is supplied. The definitions of the bits are in class ReceiverOptionXPathException - if an error occurspublic void endElement()
throws XPathException
endElement in interface ReceiverXPathException - if an error occurspublic void characters(java.lang.CharSequence chars,
Location locationId,
int properties)
throws XPathException
characters in interface Receiverchars - The characterslocationId - provides information such as line number and system ID.properties - Bit significant value. The following bits are defined:
XPathException - if an error occursprotected void notifyNotWellFormed()
throws XPathException
XPathExceptionpublic void processingInstruction(java.lang.String target,
java.lang.CharSequence data,
Location locationId,
int properties)
throws XPathException
processingInstruction in interface Receivertarget - The PI name. This must be a legal name (it will not be checked).data - The data portion of the processing instructionlocationId - provides information such as line number and system ID.properties - Additional information about the PI.XPathException - if an error occurspublic void comment(java.lang.CharSequence chars,
Location locationId,
int properties)
throws XPathException
comment in interface Receiverchars - The content of the commentlocationId - provides information such as line number and system ID.properties - Additional information about the comment.XPathException - if an error occurspublic boolean usesTypeAnnotations()
usesTypeAnnotations in interface ReceiverCopyright (c) 2004-2020 Saxonica Limited.