descendantaxis.java
来自「A framework written in Java for implemen」· Java 代码 · 共 43 行
JAVA
43 行
// 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 descendant:: step in a path expression. */public class DescendantAxis extends TreeScanner{ public static DescendantAxis make (NodePredicate type) { DescendantAxis axis = new DescendantAxis(); axis.type = type; return axis; } public void scan (AbstractSequence seq, int ipos, PositionConsumer out) { if (! (seq instanceof TreeList)) { // AbstractSequence's nextMatching does not support descend. FIXME. ipos = seq.firstChildPos(ipos); while (ipos != 0) { if (type.isInstancePos(seq, ipos)) out.writePosition(seq, ipos); scan(seq, ipos, out); ipos = seq.nextPos(ipos); } return; } int limit = seq.nextPos(ipos); int child = ipos; for (;;) { child = seq.nextMatching(child, type, limit, true); if (child == 0) break; out.writePosition(seq, child); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?