01: package net.sf.saxon.tree;
02:
03: import net.sf.saxon.om.SequenceIterator;
04: import net.sf.saxon.pattern.NodeTest;
05:
06: final class ChildEnumeration extends TreeEnumeration {
07:
08: public ChildEnumeration(NodeImpl node, NodeTest nodeTest) {
09: super (node, nodeTest);
10: next = (NodeImpl) node.getFirstChild();
11: while (!conforms(next)) {
12: step();
13: }
14: }
15:
16: protected void step() {
17: next = (NodeImpl) next.getNextSibling();
18: }
19:
20: /**
21: * Get another enumeration of the same nodes
22: */
23:
24: public SequenceIterator getAnother() {
25: return new ChildEnumeration(start, nodeTest);
26: }
27: }
28:
29: //
30: // The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License");
31: // you may not use this file except in compliance with the License. You may obtain a copy of the
32: // License at http://www.mozilla.org/MPL/
33: //
34: // Software distributed under the License is distributed on an "AS IS" basis,
35: // WITHOUT WARRANTY OF ANY KIND, either express or implied.
36: // See the License for the specific language governing rights and limitations under the License.
37: //
38: // The Original Code is: all this file.
39: //
40: // The Initial Developer of the Original Code is Michael H. Kay.
41: //
42: // Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved.
43: //
44: // Contributor(s): none.
45: //
|