org.apache.xalan.processor
Class ProcessorCharacters

java.lang.Object
  extended by org.apache.xml.utils.UnImplNode
      extended by org.apache.xalan.templates.ElemTemplateElement
          extended by org.apache.xalan.processor.XSLTElementProcessor
              extended by org.apache.xalan.processor.ProcessorCharacters
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList

public class ProcessorCharacters
extends XSLTElementProcessor

This class processes character events for a XSLT template element.

See Also:
XSLT DTD, section-Creating-the-Result-Tree in XSLT Specification, Serialized Form

Field Summary
private  java.lang.StringBuffer m_accumulator
          Accumulate characters, until a non-whitespace event has occured.
protected  org.w3c.dom.Node m_firstBackPointer
           
private  ElemText m_xslTextElement
          The xsl:text processor will call this to set a preserve space state.
(package private) static long serialVersionUID
           
 
Fields inherited from class org.apache.xalan.templates.ElemTemplateElement
m_docOrderNumber, m_hasVariableDecl, m_parentNode
 
Fields inherited from class org.apache.xml.utils.UnImplNode
actualEncoding, fDocumentURI
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
ProcessorCharacters()
           
 
Method Summary
 void characters(StylesheetHandler handler, char[] ch, int start, int length)
          Receive notification of character data inside an element.
 void endElement(StylesheetHandler handler, java.lang.String uri, java.lang.String localName, java.lang.String rawName)
          Receive notification of the end of an element.
(package private)  void setXslTextElement(ElemText xslTextElement)
          Set the current setXslTextElement.
 void startNonText(StylesheetHandler handler)
          Receive notification of the start of the non-text event.
 
Methods inherited from class org.apache.xalan.processor.XSLTElementProcessor
getElemDef, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setElemDef, setPropertiesFromAttributes, setPropertiesFromAttributes, skippedEntity, startElement, unparsedEntityDecl
 
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement
accept, appendChild, appendChild, callChildVisitors, callChildVisitors, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, containsExcludeResultPrefix, endCompose, error, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeName, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, getXSLToken, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace
 
Methods inherited from class org.apache.xml.utils.UnImplNode
adoptNode, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getActualEncoding, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, renameNode, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

m_firstBackPointer

protected org.w3c.dom.Node m_firstBackPointer

m_accumulator

private java.lang.StringBuffer m_accumulator
Accumulate characters, until a non-whitespace event has occured.


m_xslTextElement

private ElemText m_xslTextElement
The xsl:text processor will call this to set a preserve space state.

Constructor Detail

ProcessorCharacters

public ProcessorCharacters()
Method Detail

startNonText

public void startNonText(StylesheetHandler handler)
                  throws org.xml.sax.SAXException
Receive notification of the start of the non-text event. This is sent to the current processor when any non-text event occurs.

Overrides:
startNonText in class XSLTElementProcessor
Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
Throws:
org.xml.sax.SAXException

characters

public void characters(StylesheetHandler handler,
                       char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Receive notification of character data inside an element.

Overrides:
characters in class XSLTElementProcessor
Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
ch - The characters.
start - The start position in the character array.
length - The number of characters to use from the character array.
Throws:
org.xml.sax.SAXException - Any SAX exception, possibly wrapping another exception.
See Also:
ContentHandler.characters(char[], int, int)

endElement

public void endElement(StylesheetHandler handler,
                       java.lang.String uri,
                       java.lang.String localName,
                       java.lang.String rawName)
                throws org.xml.sax.SAXException
Receive notification of the end of an element.

Overrides:
endElement in class XSLTElementProcessor
Parameters:
handler - The calling StylesheetHandler/TemplatesBuilder.
uri - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.
localName - The local name (without prefix), or the empty string if Namespace processing is not being performed.
rawName - The raw XML 1.0 name (with prefix), or the empty string if raw names are not available.
Throws:
org.xml.sax.SAXException
See Also:
StylesheetHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes), StylesheetHandler.endElement(java.lang.String, java.lang.String, java.lang.String), ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes), ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String), Attributes

setXslTextElement

void setXslTextElement(ElemText xslTextElement)
Set the current setXslTextElement. The xsl:text processor will call this to set a preserve space state.

Parameters:
xslTextElement - The current xslTextElement that is preserving state, or null.