org.apache.xalan.processor
Class XSLTElementProcessor

java.lang.Object
  extended byorg.apache.xml.utils.UnImplNode
      extended byorg.apache.xalan.templates.ElemTemplateElement
          extended byorg.apache.xalan.processor.XSLTElementProcessor
All Implemented Interfaces:
org.w3c.dom.Document, org.w3c.dom.Element, ExpressionNode, org.w3c.dom.Node, org.w3c.dom.NodeList, PrefixResolver, Serializable, javax.xml.transform.SourceLocator, WhitespaceStrippingElementMatcher, XSLTVisitable
Direct Known Subclasses:
ProcessorAttributeSet, ProcessorCharacters, ProcessorDecimalFormat, ProcessorInclude, ProcessorKey, ProcessorNamespaceAlias, ProcessorOutputElem, ProcessorPreserveSpace, ProcessorStylesheetDoc, ProcessorStylesheetElement, ProcessorTemplateElem

public class XSLTElementProcessor
extends ElemTemplateElement

This class acts as the superclass for all stylesheet element processors, and deals with things that are common to all elements.

See Also:
XSLT DTD, Serialized Form

Field Summary
private  XSLTElementDef m_elemDef
          The element definition that this processor conforms to.
private  IntStack m_savedLastOrder
           
 
Fields inherited from class org.apache.xalan.templates.ElemTemplateElement
m_docOrderNumber, m_hasVariableDecl, m_parentNode
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
(package private) XSLTElementProcessor()
          Construct a processor for top-level elements.
 
Method Summary
 void characters(StylesheetHandler handler, char[] ch, int start, int length)
          Receive notification of character data inside an element.
 void endElement(StylesheetHandler handler, String uri, String localName, String rawName)
          Receive notification of the end of an element.
(package private)  XSLTElementDef getElemDef()
          Get the element definition that belongs to this element.
 void ignorableWhitespace(StylesheetHandler handler, char[] ch, int start, int length)
          Receive notification of ignorable whitespace in element content.
 void notationDecl(StylesheetHandler handler, String name, String publicId, String systemId)
          Receive notification of a notation declaration.
 void processingInstruction(StylesheetHandler handler, String target, String data)
          Receive notification of a processing instruction.
 org.xml.sax.InputSource resolveEntity(StylesheetHandler handler, String publicId, String systemId)
          Resolve an external entity.
(package private)  void setElemDef(XSLTElementDef def)
          Set the element definition that belongs to this element.
(package private)  void setPropertiesFromAttributes(StylesheetHandler handler, String rawName, org.xml.sax.Attributes attributes, ElemTemplateElement target)
          Set the properties of an object from the given attribute list.
(package private)  org.xml.sax.Attributes setPropertiesFromAttributes(StylesheetHandler handler, String rawName, org.xml.sax.Attributes attributes, ElemTemplateElement target, boolean throwError)
          Set the properties of an object from the given attribute list.
 void skippedEntity(StylesheetHandler handler, String name)
          Receive notification of a skipped entity.
 void startElement(StylesheetHandler handler, String uri, String localName, String rawName, org.xml.sax.Attributes attributes)
          Receive notification of the start of an element.
 void startNonText(StylesheetHandler handler)
          Receive notification of the start of the non-text event.
 void unparsedEntityDecl(StylesheetHandler handler, String name, String publicId, String systemId, String notationName)
          Receive notification of an unparsed entity declaration.
 
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, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeName, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, getXSLToken, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, isValidNCName, item, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace
 
Methods inherited from class org.apache.xml.utils.UnImplNode
adoptNode, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getImplementation, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSpecified, getStandalone, getStrictErrorChecking, getVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceData, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setEncoding, setNodeValue, setPrefix, setStandalone, setStrictErrorChecking, setValue, setVersion, splitText, substringData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_savedLastOrder

private IntStack m_savedLastOrder

m_elemDef

private XSLTElementDef m_elemDef
The element definition that this processor conforms to.

Constructor Detail

XSLTElementProcessor

XSLTElementProcessor()
Construct a processor for top-level elements.

See Also:
XSLT DTD
Method Detail

getElemDef

XSLTElementDef getElemDef()
Get the element definition that belongs to this element.

Returns:
The element definition object that produced and constrains this element.

setElemDef

void setElemDef(XSLTElementDef def)
Set the element definition that belongs to this element.

Parameters:
def - The element definition object that produced and constrains this element.

resolveEntity

public org.xml.sax.InputSource resolveEntity(StylesheetHandler handler,
                                             String publicId,
                                             String systemId)
                                      throws org.xml.sax.SAXException
Resolve an external entity.

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
publicId - The public identifer, or null if none is available.
systemId - The system identifier provided in the XML document.
Returns:
The new input source, or null to require the default behaviour.
Throws:
org.xml.sax.SAXException

notationDecl

public void notationDecl(StylesheetHandler handler,
                         String name,
                         String publicId,
                         String systemId)
Receive notification of a notation declaration.

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
name - The notation name.
publicId - The notation public identifier, or null if not available.
systemId - The notation system identifier.
See Also:
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)

unparsedEntityDecl

public void unparsedEntityDecl(StylesheetHandler handler,
                               String name,
                               String publicId,
                               String systemId,
                               String notationName)
Receive notification of an unparsed entity declaration.

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
name - The entity name.
publicId - The entity public identifier, or null if not available.
systemId - The entity system identifier.
notationName - The name of the associated notation.
See Also:
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)

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.

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

startElement

public void startElement(StylesheetHandler handler,
                         String uri,
                         String localName,
                         String rawName,
                         org.xml.sax.Attributes attributes)
                  throws org.xml.sax.SAXException
Receive notification of the start of an element.

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
uri - The Namespace URI, or an empty string.
localName - The local name (without prefix), or empty string if not namespace processing.
rawName - The qualified name (with prefix).
attributes - The specified or defaulted attributes.
Throws:
org.xml.sax.SAXException

endElement

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

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
uri - The Namespace URI, or an empty string.
localName - The local name (without prefix), or empty string if not namespace processing.
rawName - The qualified name (with prefix).
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.

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

ignorableWhitespace

public void ignorableWhitespace(StylesheetHandler handler,
                                char[] ch,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Receive notification of ignorable whitespace in element content.

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
ch - The whitespace 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

processingInstruction

public void processingInstruction(StylesheetHandler handler,
                                  String target,
                                  String data)
                           throws org.xml.sax.SAXException
Receive notification of a processing instruction.

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
target - The processing instruction target.
data - The processing instruction data, or null if none is supplied.
Throws:
org.xml.sax.SAXException

skippedEntity

public void skippedEntity(StylesheetHandler handler,
                          String name)
                   throws org.xml.sax.SAXException
Receive notification of a skipped entity.

Parameters:
handler - non-null reference to current StylesheetHandler that is constructing the Templates.
name - The name of the skipped entity.
Throws:
org.xml.sax.SAXException

setPropertiesFromAttributes

void setPropertiesFromAttributes(StylesheetHandler handler,
                                 String rawName,
                                 org.xml.sax.Attributes attributes,
                                 ElemTemplateElement target)
                           throws org.xml.sax.SAXException
Set the properties of an object from the given attribute list.

Parameters:
handler - The stylesheet's Content handler, needed for error reporting.
rawName - The raw name of the owner element, needed for error reporting.
attributes - The list of attributes.
target - The target element where the properties will be set.
Throws:
org.xml.sax.SAXException

setPropertiesFromAttributes

org.xml.sax.Attributes setPropertiesFromAttributes(StylesheetHandler handler,
                                                   String rawName,
                                                   org.xml.sax.Attributes attributes,
                                                   ElemTemplateElement target,
                                                   boolean throwError)
                                             throws org.xml.sax.SAXException
Set the properties of an object from the given attribute list.

Parameters:
handler - The stylesheet's Content handler, needed for error reporting.
rawName - The raw name of the owner element, needed for error reporting.
attributes - The list of attributes.
target - The target element where the properties will be set.
throwError - True if it should throw an error if an attribute is not defined.
Returns:
the attributes not allowed on this element.
Throws:
javax.xml.transform.TransformerException
org.xml.sax.SAXException