org.apache.xpath.axes.WalkingIterator类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(7.5k)|赞(0)|评价(0)|浏览(119)

本文整理了Java中org.apache.xpath.axes.WalkingIterator类的一些代码示例,展示了WalkingIterator类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WalkingIterator类的具体详情如下:
包路径:org.apache.xpath.axes.WalkingIterator
类名称:WalkingIterator

WalkingIterator介绍

[英]Location path iterator that uses Walkers.
[中]使用Walker的位置路径迭代器。

代码示例

代码示例来源:origin: robovm/robovm

WalkingIterator newIter = new WalkingIterator(wi.getPrefixResolver());
try
  AxesWalker walker = (AxesWalker)wi.getFirstWalker().clone();
  newIter.setFirstWalker(walker);
  walker.setLocPathIterator(newIter);
  for(int i = 1; i < numSteps; i++)

代码示例来源:origin: robovm/robovm

/**
 * This function is used to perform some extra analysis of the iterator.
 * 
 * @param vars List of QNames that correspond to variables.  This list 
 * should be searched backwards for the first qualified name that 
 * corresponds to the variable reference qname.  The position of the 
 * QName in the vector from the start of the vector will be its position 
 * in the stack frame (but variables above the globalsTop value will need 
 * to be offset to the current stack frame).
 */
public void fixupVariables(java.util.Vector vars, int globalsSize)
{
 super.fixupVariables(vars, globalsSize);
 int analysis = getAnalysisBits();
 if(WalkerFactory.isNaturalDocOrder(analysis))
 {
   m_inNaturalOrderStatic = true;
 }
 else
 {
   m_inNaturalOrderStatic = false;
   // System.out.println("Setting natural doc order to false: "+
   //    WalkerFactory.getAnalysisString(analysis));
 }
 
}

代码示例来源:origin: robovm/robovm

AxesWalker savedWalker = lpi.getLastUsedWalker();
 lpi.setLastUsedWalker(walker);
 lpi.setLastUsedWalker(savedWalker);

代码示例来源:origin: robovm/robovm

/**
 * @see ExpressionOwner#setExpression(Expression)
 */
public void setExpression(Expression exp)
{
  
  if(!(exp instanceof LocPathIterator))
  {
    // Yuck.  Need FilterExprIter.  Or make it so m_exprs can be just 
    // plain expressions?
    WalkingIterator wi = new WalkingIterator(getPrefixResolver());
    FilterExprWalker few = new FilterExprWalker(wi);
    wi.setFirstWalker(few);
    few.setInnerExpression(exp);
    wi.exprSetParent(UnionPathIterator.this);
    few.exprSetParent(wi);
    exp.exprSetParent(few);
    exp = wi;
  }
  else
    exp.exprSetParent(UnionPathIterator.this);
  m_exprs[m_index] = (LocPathIterator)exp;
}

代码示例来源:origin: robovm/robovm

AxesWalker walker = wi.getFirstWalker();
for(int i = 0; i < numSteps; i++)
 few.setNextWalker(walker);
 walker.setPrevWalker(few);
 wi.setFirstWalker(few);
 return wi;
 feis.exprSetParent(wi.exprGetParent());
 return feis;

代码示例来源:origin: robovm/robovm

new WalkingIterator(compiler.getNamespaceContext());
iter.exprSetParent(this);
 iter.setIsTopLevel(true);

代码示例来源:origin: robovm/robovm

/**
 * Check if results of partial reduction will just be a variable, in 
 * which case, skip it.
 */
boolean partialIsVariable(MultistepExprHolder testee, int lengthToTest)
{
  if(1 == lengthToTest)
  {
    WalkingIterator wi = (WalkingIterator)testee.m_exprOwner.getExpression();
    if(wi.getFirstWalker() instanceof FilterExprWalker)
      return true;
  }
  return false;
}

代码示例来源:origin: robovm/robovm

/**
 * Get the DTM for this walker.
 * 
 * @return Non-null reference to a DTM.
 */
public DTM getDTM(int node)
{
 //
 return wi().getXPathContext().getDTM(node);
}

代码示例来源:origin: org.apache.xalan/com.springsource.org.apache.xalan

/**
 * @see ExpressionOwner#setExpression(Expression)
 */
public void setExpression(Expression exp)
{
  
  if(!(exp instanceof LocPathIterator))
  {
    // Yuck.  Need FilterExprIter.  Or make it so m_exprs can be just 
    // plain expressions?
    WalkingIterator wi = new WalkingIterator(getPrefixResolver());
    FilterExprWalker few = new FilterExprWalker(wi);
    wi.setFirstWalker(few);
    few.setInnerExpression(exp);
    wi.exprSetParent(UnionPathIterator.this);
    few.exprSetParent(wi);
    exp.exprSetParent(few);
    exp = wi;
  }
  else
    exp.exprSetParent(UnionPathIterator.this);
  m_exprs[m_index] = (LocPathIterator)exp;
}

代码示例来源:origin: org.apache.karaf.bundles/org.apache.karaf.bundles.xalan-2.7.1

/**
 * This function is used to perform some extra analysis of the iterator.
 * 
 * @param vars List of QNames that correspond to variables.  This list 
 * should be searched backwards for the first qualified name that 
 * corresponds to the variable reference qname.  The position of the 
 * QName in the vector from the start of the vector will be its position 
 * in the stack frame (but variables above the globalsTop value will need 
 * to be offset to the current stack frame).
 */
public void fixupVariables(java.util.Vector vars, int globalsSize)
{
 super.fixupVariables(vars, globalsSize);
 int analysis = getAnalysisBits();
 if(WalkerFactory.isNaturalDocOrder(analysis))
 {
   m_inNaturalOrderStatic = true;
 }
 else
 {
   m_inNaturalOrderStatic = false;
   // System.out.println("Setting natural doc order to false: "+
   //    WalkerFactory.getAnalysisString(analysis));
 }
 
}

代码示例来源:origin: robovm/robovm

iter = new WalkingIterator(compiler, opPos, analysis, true);

代码示例来源:origin: xalan/xalan

/**
 * @see ExpressionOwner#setExpression(Expression)
 */
public void setExpression(Expression exp)
{
  
  if(!(exp instanceof LocPathIterator))
  {
    // Yuck.  Need FilterExprIter.  Or make it so m_exprs can be just 
    // plain expressions?
    WalkingIterator wi = new WalkingIterator(getPrefixResolver());
    FilterExprWalker few = new FilterExprWalker(wi);
    wi.setFirstWalker(few);
    few.setInnerExpression(exp);
    wi.exprSetParent(UnionPathIterator.this);
    few.exprSetParent(wi);
    exp.exprSetParent(few);
    exp = wi;
  }
  else
    exp.exprSetParent(UnionPathIterator.this);
  m_exprs[m_index] = (LocPathIterator)exp;
}

代码示例来源:origin: xalan/xalan

AxesWalker walker = wi.getFirstWalker();
for(int i = 0; i < numSteps; i++)
 few.setNextWalker(walker);
 walker.setPrevWalker(few);
 wi.setFirstWalker(few);
 return wi;
 feis.exprSetParent(wi.exprGetParent());
 return feis;

代码示例来源:origin: xalan/xalan

new WalkingIterator(compiler.getNamespaceContext());
iter.exprSetParent(this);
 iter.setIsTopLevel(true);

代码示例来源:origin: xalan/xalan

/**
 * Check if results of partial reduction will just be a variable, in 
 * which case, skip it.
 */
boolean partialIsVariable(MultistepExprHolder testee, int lengthToTest)
{
  if(1 == lengthToTest)
  {
    WalkingIterator wi = (WalkingIterator)testee.m_exprOwner.getExpression();
    if(wi.getFirstWalker() instanceof FilterExprWalker)
      return true;
  }
  return false;
}

代码示例来源:origin: xalan/xalan

/**
 * Get the DTM for this walker.
 * 
 * @return Non-null reference to a DTM.
 */
public DTM getDTM(int node)
{
 //
 return wi().getXPathContext().getDTM(node);
}

代码示例来源:origin: org.apache.karaf.bundles/org.apache.karaf.bundles.xalan-2.7.1

/**
 * @see ExpressionOwner#setExpression(Expression)
 */
public void setExpression(Expression exp)
{
  
  if(!(exp instanceof LocPathIterator))
  {
    // Yuck.  Need FilterExprIter.  Or make it so m_exprs can be just 
    // plain expressions?
    WalkingIterator wi = new WalkingIterator(getPrefixResolver());
    FilterExprWalker few = new FilterExprWalker(wi);
    wi.setFirstWalker(few);
    few.setInnerExpression(exp);
    wi.exprSetParent(UnionPathIterator.this);
    few.exprSetParent(wi);
    exp.exprSetParent(few);
    exp = wi;
  }
  else
    exp.exprSetParent(UnionPathIterator.this);
  m_exprs[m_index] = (LocPathIterator)exp;
}

代码示例来源:origin: org.apache.xalan/com.springsource.org.apache.xalan

/**
 * This function is used to perform some extra analysis of the iterator.
 * 
 * @param vars List of QNames that correspond to variables.  This list 
 * should be searched backwards for the first qualified name that 
 * corresponds to the variable reference qname.  The position of the 
 * QName in the vector from the start of the vector will be its position 
 * in the stack frame (but variables above the globalsTop value will need 
 * to be offset to the current stack frame).
 */
public void fixupVariables(java.util.Vector vars, int globalsSize)
{
 super.fixupVariables(vars, globalsSize);
 int analysis = getAnalysisBits();
 if(WalkerFactory.isNaturalDocOrder(analysis))
 {
   m_inNaturalOrderStatic = true;
 }
 else
 {
   m_inNaturalOrderStatic = false;
   // System.out.println("Setting natural doc order to false: "+
   //    WalkerFactory.getAnalysisString(analysis));
 }
 
}

代码示例来源:origin: xalan/xalan

iter = new WalkingIterator(compiler, opPos, analysis, true);

代码示例来源:origin: xalan/xalan

WalkingIterator newIter = new WalkingIterator(wi.getPrefixResolver());
try
  AxesWalker walker = (AxesWalker)wi.getFirstWalker().clone();
  newIter.setFirstWalker(walker);
  walker.setLocPathIterator(newIter);
  for(int i = 1; i < numSteps; i++)

相关文章