net.sf.saxon.event
Class ReceivingContentHandler

java.lang.Object
  extended by net.sf.saxon.event.ReceivingContentHandler
All Implemented Interfaces:
javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.Locator
Direct Known Subclasses:
IdentityTransformerHandler, TemplatesHandlerImpl, TransformerHandlerImpl

public class ReceivingContentHandler
extends java.lang.Object
implements org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.DTDHandler, SaxonLocator

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.

Author:
Michael H. Kay

Constructor Summary
ReceivingContentHandler()
          create a ReceivingContentHandler and initialise variables
 
Method Summary
 void characters(char[] ch, int start, int length)
          Callback interface for SAX: not for application use
 void comment(char[] ch, int start, int length)
          Callback interface for SAX (part of LexicalHandler interface): not for application use
 void endCDATA()
           
 void endDocument()
          Callback interface for SAX: not for application use
 void endDTD()
          Register the end of the DTD.
 void endElement(java.lang.String uri, java.lang.String localname, java.lang.String rawname)
          Callback interface for SAX: not for application use
 void endEntity(java.lang.String name)
           
 void endPrefixMapping(java.lang.String prefix)
          Callback interface for SAX: not for application use
 int getColumnNumber()
          Return the character position where the current document event ends.
 Configuration getConfiguration()
           
 int getLineNumber()
          Return the line number where the current document event ends.
 int getLineNumber(int locationId)
           
 PipelineConfiguration getPipelineConfiguration()
           
 java.lang.String getPublicId()
          Return the public identifier for the current document event.
 java.lang.String getSystemId()
          Return the public identifier for the current document event.
 java.lang.String getSystemId(int locationId)
           
 void ignorableWhitespace(char[] ch, int start, int length)
          Callback interface for SAX: not for application use
 boolean isIgnoringIgnorableWhitespace()
          Determine whether "ignorable whitespace" is ignored.
 void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 void processingInstruction(java.lang.String name, java.lang.String remainder)
          Callback interface for SAX: not for application use
 void reset()
          Set the ReceivingContentHandler to its initial state, except for the local name cache, which is retained
 void setDocumentLocator(org.xml.sax.Locator locator)
          Callback interface for SAX: not for application use
 void setIgnoreIgnorableWhitespace(boolean ignore)
          Set whether "ignorable whitespace" should be ignored.
 void setPipelineConfiguration(PipelineConfiguration pipe)
           
 void setReceiver(Receiver e)
           
 void skippedEntity(java.lang.String name)
           
 void startCDATA()
           
 void startDocument()
          Callback interface for SAX: not for application use
 void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
          Register the start of the DTD.
 void startElement(java.lang.String uri, java.lang.String localname, java.lang.String rawname, org.xml.sax.Attributes atts)
          Callback interface for SAX: not for application use
 void startEntity(java.lang.String name)
           
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
          Callback interface for SAX: not for application use
 void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReceivingContentHandler

public ReceivingContentHandler()
create a ReceivingContentHandler and initialise variables

Method Detail

reset

public void reset()
Set the ReceivingContentHandler to its initial state, except for the local name cache, which is retained


setReceiver

public void setReceiver(Receiver e)

setPipelineConfiguration

public void setPipelineConfiguration(PipelineConfiguration pipe)

getPipelineConfiguration

public PipelineConfiguration getPipelineConfiguration()

getConfiguration

public Configuration getConfiguration()

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.


isIgnoringIgnorableWhitespace

public boolean isIgnoringIgnorableWhitespace()
Determine whether "ignorable whitespace" is ignored. This returns the value that was set using setIgnoreIgnorableWhitespace(boolean) if that has been called; otherwise the value from the configuration.


startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
startDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Callback interface for SAX: not for application use

Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startElement

public void startElement(java.lang.String uri,
                         java.lang.String localname,
                         java.lang.String rawname,
                         org.xml.sax.Attributes atts)
                  throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

endElement

public void endElement(java.lang.String uri,
                       java.lang.String localname,
                       java.lang.String rawname)
                throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
characters in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

processingInstruction

public void processingInstruction(java.lang.String name,
                                  java.lang.String remainder)
                           throws org.xml.sax.SAXException
Callback interface for SAX: not for application use

Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

comment

public void comment(char[] ch,
                    int start,
                    int length)
             throws org.xml.sax.SAXException
Callback interface for SAX (part of LexicalHandler interface): not for application use

Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Specified by:
skippedEntity in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Register the start of the DTD. Comments in the DTD are skipped because they are not part of the XPath data model

Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Register the end of the DTD. Comments in the DTD are skipped because they are not part of the XPath data model

Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException

notationDecl

public void notationDecl(java.lang.String name,
                         java.lang.String publicId,
                         java.lang.String systemId)
                  throws org.xml.sax.SAXException
Specified by:
notationDecl in interface org.xml.sax.DTDHandler
Throws:
org.xml.sax.SAXException

unparsedEntityDecl

public void unparsedEntityDecl(java.lang.String name,
                               java.lang.String publicId,
                               java.lang.String systemId,
                               java.lang.String notationName)
                        throws org.xml.sax.SAXException
Specified by:
unparsedEntityDecl in interface org.xml.sax.DTDHandler
Throws:
org.xml.sax.SAXException

getSystemId

public java.lang.String getSystemId()
Return the public identifier for the current document event.

Specified by:
getSystemId in interface javax.xml.transform.SourceLocator
Specified by:
getSystemId in interface org.xml.sax.Locator
Returns:
A string containing the system identifier, or null if none is available.

getPublicId

public java.lang.String getPublicId()
Return the public identifier for the current document event.

Specified by:
getPublicId in interface javax.xml.transform.SourceLocator
Specified by:
getPublicId in interface org.xml.sax.Locator
Returns:
A string containing the public identifier, or null if none is available.

getLineNumber

public int getLineNumber()
Return the line number where the current document event ends.

Specified by:
getLineNumber in interface javax.xml.transform.SourceLocator
Specified by:
getLineNumber in interface org.xml.sax.Locator
Returns:
The line number, or -1 if none is available.

getColumnNumber

public int getColumnNumber()
Return the character position where the current document event ends.

Specified by:
getColumnNumber in interface javax.xml.transform.SourceLocator
Specified by:
getColumnNumber in interface org.xml.sax.Locator
Returns:
The column number, or -1 if none is available.

getSystemId

public java.lang.String getSystemId(int locationId)
Specified by:
getSystemId in interface LocationProvider

getLineNumber

public int getLineNumber(int locationId)
Specified by:
getLineNumber in interface LocationProvider