precedingaxis.java

来自「A framework written in Java for implemen」· Java 代码 · 共 45 行

JAVA
45
字号
// Copyright (c) 2003  Per M.A. Bothner.// This is free software;  for terms and warranty disclaimer see ./COPYING.package gnu.kawa.xml;import gnu.lists.*;/** Used to implement a following:: step in a path expression. */public class PrecedingAxis extends TreeScanner{  public static PrecedingAxis make (NodePredicate type)  {    PrecedingAxis axis = new PrecedingAxis();    axis.type = type;    return axis;  }  private static void scan (AbstractSequence seq, int ipos, int end,			    NodePredicate type, PositionConsumer out)  {    int parent = seq.parentPos(ipos);    if (parent == end)      return;    scan (seq, parent, end, type, out);    int child = seq.firstChildPos(parent);    if (child == 0)      return;    if (type.isInstancePos(seq, child))      out.writePosition(seq, child);    for (;;)      {	child = seq.nextMatching(child, type, ipos, true);	if (child == 0)	  break;	out.writePosition(seq, child);      }  }  public void scan (AbstractSequence seq, int ipos, PositionConsumer out)  {    scan(seq, ipos, seq.endPos(), type, out);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?