16 package cz.vutbr.fit.knot.annotations.fragmentUpdater.nodeIterators;
19 import javax.xml.xpath.XPathExpression;
20 import javax.xml.xpath.XPathExpressionException;
21 import org.w3c.dom.Document;
22 import org.w3c.dom.Node;
43 public void init(Document
document, XPathExpression expr)
throws XPathExpressionException {
48 this.nodeList = XPathHelper.evaluateXPath(
document, expr);
49 this.currentNodeIndex = 0;
72 Node resultNode, newNextNode;
84 nextNode = nextNode.getParentNode().getFirstChild();
91 newNextNode = nextNode.getNextSibling();
94 if (newNextNode == null) {
102 if (nextNode.getParentNode() != null) {
103 nextNode = nextNode.getParentNode().getFirstChild();
109 if (resultNode.getNodeName().equals(
"#text") && !
isWhitespaced(resultNode.getTextContent())) {
119 newNextNode = nextNode.getNextSibling();
121 if (newNextNode == null) {
123 nextNode = nextNode.getParentNode();
131 nextNode = nextNode.getFirstChild();
135 nextNode = nextNode.getFirstChild();
153 node.setUserData(
"visited",
timestamp, null);
167 Long visited = (Long) node.getUserData(
"visited");
168 if (visited == null) {
182 return string.matches(
"\\s+");
void init(Document document, XPathExpression expr)
Generic class for node iterators.
boolean isWhitespaced(String string)
void setVisited(Node node)
Helper class with util XPath methods.
boolean isVisited(Node node)