Class ReceivingContentHandler
java.lang.Object
net.sf.saxon.event.ReceivingContentHandler
- All Implemented Interfaces:
ContentHandler, DTDHandler, LexicalHandler
- Direct Known Subclasses:
IdentityTransformerHandler, TemplatesHandlerImpl, TransformerHandlerImpl
public class ReceivingContentHandler
extends Object
implements ContentHandler, LexicalHandler, DTDHandler
ReceivingContentHandler is a glue class that provides a standard SAX ContentHandler
interface to a Saxon Receiver. To achieve this it needs to map names supplied
as strings to numeric name codes, for which purpose it needs access to a name
pool. The class also performs the function of assembling adjacent text nodes.
The class was previously named ContentEmitter.
If the input stream contains the processing instructions assigned by JAXP to switch disable-output-escaping on or off, these will be reflected in properties set in the corresponding characters events. In this case adjacent text nodes will not be combined.
- Author:
- Michael H. Kay
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a ReceivingContentHandler and initialise variables -
Method Summary
Modifier and TypeMethodDescriptionvoidcharacters(char[] ch, int start, int length) Report character data.voidcomment(char[] ch, int start, int length) Notify the existence of a comment.voidendCDATA()voidReceive notification of the end of a documentvoidendDTD()Register the end of the DTD.voidendElement(String uri, String localname, String rawname) Report the end of an element (the close tag)voidvoidendPrefixMapping(String prefix) Notify that a namespace binding is going out of scopeGet the Configuration objectGet the pipeline configurationGet the receiver to which events are passed.voidignorableWhitespace(char[] ch, int start, int length) Report character data classified as "Ignorable whitespace", that is, whitespace text nodes appearing as children of elements with an element-only content modelbooleanDetermine whether "ignorable whitespace" is ignored.voidnotationDecl(String name, String publicId, String systemId) ///////////////////////////////////////////////////////////////////////////voidprocessingInstruction(String name, String remainder) Notify the existence of a processing instructionvoidreset()Set the ReceivingContentHandler to its initial state, except for the local name cache, which is retainedvoidsetDocumentLocator(Locator locator) Supply a locator that can be called to give information about location in the source document being parsed.voidsetIgnoreIgnorableWhitespace(boolean ignore) Set whether "ignorable whitespace" should be ignored.voidSet the pipeline configurationvoidsetReceiver(Receiver receiver) Set the receiver to which events are passed.voidskippedEntity(String name) Notify a skipped entity.voidvoidReceive notification of the beginning of a document.voidRegister the start of the DTD.voidstartElement(String uri, String localname, String rawname, Attributes atts) Notify an element start event, including all the associated attributesvoidstartEntity(String name) voidstartPrefixMapping(String prefix, String uri) Notify a namespace prefix to URI bindingvoidunparsedEntityDecl(String name, String publicId, String systemId, String notationName) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ContentHandler
declaration
-
Constructor Details
-
ReceivingContentHandler
public ReceivingContentHandler()Create a ReceivingContentHandler and initialise variables
-
-
Method Details
-
reset
public void reset()Set the ReceivingContentHandler to its initial state, except for the local name cache, which is retained -
setReceiver
Set the receiver to which events are passed. ReceivingContentHandler is essentially a translator that takes SAX events as input and produces Saxon Receiver events as output; these Receiver events are passed to the supplied Receiver- Parameters:
receiver- the Receiver of events
-
getReceiver
Get the receiver to which events are passed.- Returns:
- the underlying Receiver
-
setPipelineConfiguration
Set the pipeline configuration- Parameters:
pipe- the pipeline configuration. This holds a reference to the Saxon configuration, as well as information that can vary from one pipeline to another, for example the LocationProvider which resolves the location of events in a source document
-
getPipelineConfiguration
Get the pipeline configuration- Returns:
- the pipeline configuration as supplied to
setPipelineConfiguration(PipelineConfiguration)
-
getConfiguration
Get the Configuration object- Returns:
- the Saxon configuration
-
setIgnoreIgnorableWhitespace
public void setIgnoreIgnorableWhitespace(boolean ignore) Set whether "ignorable whitespace" should be ignored. This method is effective only if called after setPipelineConfiguration, since the default value is taken from the configuration.- Parameters:
ignore- true if ignorable whitespace (whitespace in element content that is notified via theignorableWhitespace(char[], int, int)method) should be ignored, false if it should be treated as ordinary text.
-
isIgnoringIgnorableWhitespace
public boolean isIgnoringIgnorableWhitespace()Determine whether "ignorable whitespace" is ignored. This returns the value that was set usingsetIgnoreIgnorableWhitespace(boolean)if that has been called; otherwise the value from the configuration.- Returns:
- true if ignorable whitespace is being ignored
-
startDocument
Receive notification of the beginning of a document.- Specified by:
startDocumentin interfaceContentHandler- Throws:
SAXException
-
endDocument
Receive notification of the end of a document- Specified by:
endDocumentin interfaceContentHandler- Throws:
SAXException
-
setDocumentLocator
Supply a locator that can be called to give information about location in the source document being parsed.- Specified by:
setDocumentLocatorin interfaceContentHandler
-
startPrefixMapping
Notify a namespace prefix to URI binding- Specified by:
startPrefixMappingin interfaceContentHandler- Throws:
SAXException
-
endPrefixMapping
Notify that a namespace binding is going out of scope- Specified by:
endPrefixMappingin interfaceContentHandler- Throws:
SAXException
-
startElement
public void startElement(String uri, String localname, String rawname, Attributes atts) throws SAXException Notify an element start event, including all the associated attributes- Specified by:
startElementin interfaceContentHandler- Throws:
SAXException
-
endElement
Report the end of an element (the close tag)- Specified by:
endElementin interfaceContentHandler- Throws:
SAXException
-
characters
Report character data. Note that contiguous character data may be reported as a sequence of calls on this method, with arbitrary boundaries- Specified by:
charactersin interfaceContentHandler- Throws:
SAXException
-
ignorableWhitespace
Report character data classified as "Ignorable whitespace", that is, whitespace text nodes appearing as children of elements with an element-only content model- Specified by:
ignorableWhitespacein interfaceContentHandler- Throws:
SAXException
-
processingInstruction
Notify the existence of a processing instruction- Specified by:
processingInstructionin interfaceContentHandler- Throws:
SAXException
-
comment
Notify the existence of a comment. Note that in SAX this is part of LexicalHandler interface rather than the ContentHandler interface.- Specified by:
commentin interfaceLexicalHandler- Throws:
SAXException
-
skippedEntity
Notify a skipped entity. Saxon ignores this event- Specified by:
skippedEntityin interfaceContentHandler- Throws:
SAXException
-
startDTD
Register the start of the DTD. Saxon ignores the DTD; however, it needs to know when the DTD starts and ends so that it can ignore comments in the DTD, which are reported like any other comment, but which are skipped because they are not part of the XPath data model- Specified by:
startDTDin interfaceLexicalHandler- Throws:
SAXException
-
endDTD
Register the end of the DTD. Comments in the DTD are skipped because they are not part of the XPath data model- Specified by:
endDTDin interfaceLexicalHandler- Throws:
SAXException
-
startEntity
- Specified by:
startEntityin interfaceLexicalHandler- Throws:
SAXException
-
endEntity
- Specified by:
endEntityin interfaceLexicalHandler- Throws:
SAXException
-
startCDATA
- Specified by:
startCDATAin interfaceLexicalHandler- Throws:
SAXException
-
endCDATA
- Specified by:
endCDATAin interfaceLexicalHandler- Throws:
SAXException
-
notationDecl
///////////////////////////////////////////////////////////////////////////- Specified by:
notationDeclin interfaceDTDHandler- Throws:
SAXException
-
unparsedEntityDecl
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException - Specified by:
unparsedEntityDeclin interfaceDTDHandler- Throws:
SAXException
-