15 package cz.vutbr.fit.knot.annotations.fragmentUpdater.nodeIterators;
18 import javax.xml.xpath.XPathExpression;
19 import javax.xml.xpath.XPathExpressionException;
20 import org.w3c.dom.Document;
21 import org.w3c.dom.Node;
58 public void init(Document
document, XPathExpression expr)
throws XPathExpressionException {
59 this.timestamp = System.currentTimeMillis();
60 this.sessionL =
"L" + this.timestamp;
61 this.sessionR =
"R" + this.timestamp;
63 this.nodeList = XPathHelper.evaluateXPath(
document, expr);
64 this.currentNodeIndex = 0;
65 this.firstNode =
true;
67 this.leftEnd = this.rightEnd =
false;
85 Node resultNode = null;
136 if(
nextNodeL.getPreviousSibling() != null){
137 nextNodeL = nextNodeL.getPreviousSibling();
164 if((resultNode.getNodeType() == Node.TEXT_NODE || resultNode.getNodeType() == Node.CDATA_SECTION_NODE)
212 node.setUserData(this.sessionR,
timestamp, null);
215 node.setUserData(this.sessionL,
timestamp, null);
234 visited = (Long) node.getUserData(
this.sessionR);
237 visited = (Long) node.getUserData(
this.sessionL);
240 if (visited == null) {
254 return "BidirectionallyUnNest";
void init(Document document, XPathExpression expr)
void setVisited(Node node, flow currentFlow)
boolean isWhitespaced(String string)
boolean isVisited(Node node, flow currentFlow)
Node iterator which is gradually unnesting.
Helper class with util XPath methods.