org.apache.xalan.templates
Class  RedundentExprEliminator
java.lang.Object
  |
  +--org.apache.xpath.XPathVisitor
        |
        +--org.apache.xalan.templates.XSLTVisitor
              |
              +--org.apache.xalan.templates.RedundentExprEliminator
- public class RedundentExprEliminator
- extends XSLTVisitor
  
This class eleminates redundent XPaths from a given subtree, 
 and also collects all absolute paths within the subtree.  First 
 it must be called as a visitor to the subtree, and then 
 eleminateRedundent must be called.
 
 
 
 
 
| Methods inherited from class java.lang.Object | 
equals, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait | 
 
DEBUG
public static final boolean DEBUG
DIAGNOSE_NUM_PATHS_REDUCED
public static final boolean DIAGNOSE_NUM_PATHS_REDUCED
DIAGNOSE_MULTISTEPLIST
public static final boolean DIAGNOSE_MULTISTEPLIST
RedundentExprEliminator
public RedundentExprEliminator()
- Construct a RedundentExprEliminator.
 
eleminateRedundentLocals
public void eleminateRedundentLocals(ElemTemplateElement psuedoVarRecipient)
- Method to be called after the all expressions within an  
 node context have been visited.  It eliminates redundent 
 expressions by creating a variable in the psuedoVarRecipient 
 for each redundent expression, and then rewriting the redundent 
 expression to be a variable reference.
- Parameters:
 psuedoVarRecipient - The recipient of the psuedo vars.  The 
 variables will be inserted as first children of the element, before 
 any existing variables.
 
 
eleminateRedundentGlobals
public void eleminateRedundentGlobals(StylesheetRoot stylesheet)
- Method to be called after the all global expressions within a stylesheet 
 have been collected.  It eliminates redundent 
 expressions by creating a variable in the psuedoVarRecipient 
 for each redundent expression, and then rewriting the redundent 
 expression to be a variable reference.
 
isAbsolute
public boolean isAbsolute(LocPathIterator path)
- Tell if the given LocPathIterator is relative to an absolute path, i.e. 
 in not dependent on the context.
- Returns:
 - true if the LocPathIterator is not dependent on the context node.
 
 
 
visitLocationPath
public boolean visitLocationPath(ExpressionOwner owner,
                                 LocPathIterator path)
- Visit a LocationPath.
- Parameters:
 owner - The owner of the expression, to which the expression can 
              be reset if rewriting takes place.path - The LocationPath object.- Returns:
 - true if the sub expressions should be traversed.
 - Overrides:
 - visitLocationPath in class XPathVisitor
 
 
 
visitPredicate
public boolean visitPredicate(ExpressionOwner owner,
                              Expression pred)
- Visit a predicate within a location path.  Note that there isn't a 
 proper unique component for predicates, and that the expression will 
 be called also for whatever type Expression is.
- Parameters:
 owner - The owner of the expression, to which the expression can 
              be reset if rewriting takes place.pred - The predicate object.- Returns:
 - true if the sub expressions should be traversed.
 - Overrides:
 - visitPredicate in class XPathVisitor
 
 
 
visitTopLevelInstruction
public boolean visitTopLevelInstruction(ElemTemplateElement elem)
- Visit an XSLT top-level instruction.
- Parameters:
 elem - The xsl instruction element object.- Returns:
 - true if the sub expressions should be traversed.
 - Overrides:
 - visitTopLevelInstruction in class XSLTVisitor
 
 
 
visitInstruction
public boolean visitInstruction(ElemTemplateElement elem)
- Visit an XSLT instruction.  Any element that isn't called by one 
 of the other visit methods, will be called by this method.
- Parameters:
 elem - The xsl instruction element object.- Returns:
 - true if the sub expressions should be traversed.
 - Overrides:
 - visitInstruction in class XSLTVisitor
 
 
 
Copyright © 2006 Apache XML Project. All Rights Reserved.