org.apache.xalan.templates
Class ElemForEach
java.lang.Object
org.apache.xml.utils.UnImplNode
org.apache.xalan.templates.ElemTemplateElement
org.apache.xalan.templates.ElemForEach
- All Implemented Interfaces:
- Serializable, SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, ExpressionOwner, WhitespaceStrippingElementMatcher, Document, Element, Node, NodeList
- Direct Known Subclasses:
- ElemCallTemplate
public class ElemForEach
- extends ElemTemplateElement
- implements ExpressionOwner
Implement xsl:for-each.
- See Also:
- for-each in XSLT Specification,
Serialized Form
Field Summary |
boolean |
m_doc_cache_off
This is set by an "xalan-doc-cache-off" pi, or the old "xalan:doc-cache-off" pi. |
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 |
ElemForEach()
Construct a element representing xsl:for-each. |
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement |
appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, containsExcludeResultPrefix, error, error, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, 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 |
m_doc_cache_off
public boolean m_doc_cache_off
- This is set by an "xalan-doc-cache-off" pi, or the old "xalan:doc-cache-off" pi.
The old form of the PI only works for XML parsers that are not namespace aware.
It tells the engine that
documents created in the location paths executed by this element
will not be reparsed. It's set by StylesheetHandler during
construction. Note that this feature applies _only_ to xsl:for-each
elements in its current incarnation; a more general cache management
solution is desperately needed.
ElemForEach
public ElemForEach()
- Construct a element representing xsl:for-each.
setSelect
public void setSelect(XPath xpath)
- Set the "select" attribute.
- Parameters:
xpath
- The XPath expression for the "select" attribute.
getSelect
public Expression getSelect()
- Get the "select" attribute.
- Returns:
- The XPath expression for the "select" attribute.
compose
public void compose(StylesheetRoot sroot)
throws TransformerException
- This function is called after everything else has been
recomposed, and allows the template to set remaining
values that may be based on some other property that
depends on recomposition.
NEEDSDOC @param sroot
- Overrides:
compose
in class ElemTemplateElement
- Throws:
TransformerException
endCompose
public void endCompose(StylesheetRoot sroot)
throws TransformerException
- This after the template's children have been composed.
- Overrides:
endCompose
in class ElemTemplateElement
- Throws:
TransformerException
getSortElemCount
public int getSortElemCount()
- Get the count xsl:sort elements associated with this element.
- Returns:
- The number of xsl:sort elements.
getSortElem
public ElemSort getSortElem(int i)
- Get a xsl:sort element associated with this element.
- Parameters:
i
- Index of xsl:sort element to get
- Returns:
- xsl:sort element at given index
setSortElem
public void setSortElem(ElemSort sortElem)
- Set a xsl:sort element associated with this element.
- Parameters:
sortElem
- xsl:sort element to set
getXSLToken
public int getXSLToken()
- Get an int constant identifying the type of element.
- Overrides:
getXSLToken
in class ElemTemplateElement
- Returns:
- The token ID for this element
- See Also:
Constants
getNodeName
public String getNodeName()
- Return the node name.
- Specified by:
getNodeName
in interface Node
- Overrides:
getNodeName
in class ElemTemplateElement
- Returns:
- The element's name
execute
public void execute(TransformerImpl transformer)
throws TransformerException
- Execute the xsl:for-each transformation
- Overrides:
execute
in class ElemTemplateElement
- Parameters:
transformer
- non-null reference to the the current transform-time state.
- Throws:
TransformerException
sortNodes
public DTMIterator sortNodes(XPathContext xctxt,
Vector keys,
DTMIterator sourceNodes)
throws TransformerException
- Sort given nodes
- Parameters:
xctxt
- The XPath runtime state for the sort.keys
- Vector of sort keyxsourceNodes
- Iterator of nodes to sort
- Returns:
- iterator of sorted nodes
- Throws:
TransformerException
transformSelectedNodes
public void transformSelectedNodes(TransformerImpl transformer)
throws TransformerException
- Perform a query if needed, and call transformNode for each child.
- Parameters:
transformer
- non-null reference to the the current transform-time state.
- Throws:
TransformerException
- Thrown in a variety of circumstances.
appendChild
public ElemTemplateElement appendChild(ElemTemplateElement newChild)
- Add a child to the child list.
- Overrides:
appendChild
in class ElemTemplateElement
- Parameters:
newChild
- Child to add to child list
- Returns:
- Child just added to child list
callChildVisitors
public void callChildVisitors(XSLTVisitor visitor,
boolean callAttributes)
- Call the children visitors.
- Parameters:
visitor
- The visitor whose appropriate method will be called.
getExpression
public Expression getExpression()
- Description copied from interface:
ExpressionOwner
- Get the raw Expression object that this class wraps.
- Specified by:
getExpression
in interface ExpressionOwner
- Returns:
- the raw Expression object, which should not normally be null.
- See Also:
ExpressionOwner.getExpression()
setExpression
public void setExpression(Expression exp)
- Description copied from interface:
ExpressionOwner
- Set the raw expression object for this object.
- Specified by:
setExpression
in interface ExpressionOwner
- Parameters:
exp
- the raw Expression object, which should not normally be null.- See Also:
ExpressionOwner.setExpression(Expression)
Copyright ? 2005 Apache XML Project. All Rights Reserved.