17 package cz.vutbr.fit.knot.annotations.fragmentUpdater;
21 import java.util.ArrayList;
22 import javax.xml.xpath.XPathExpressionException;
23 import org.w3c.dom.Document;
24 import org.w3c.dom.Node;
98 nodeIterator.init(document, queryFragment.getXPathExpression());
101 node = nodeIterator.nextNode();
107 resultFragment = comparator.compare(queryFragment, node);
109 }
while (resultFragment == null);
111 return resultFragment;
126 ArrayList<UpdatableFragment> resultFragments =
new ArrayList<UpdatableFragment>();
128 nodeIterator.init(document, queryFragment.getXPathExpression());
130 node = nodeIterator.nextNode();
131 while (node != null) {
132 resultFragment = comparator.compare(queryFragment, node);
133 if (resultFragment != null) {
134 if (!resultFragments.contains(resultFragment)) {
135 resultFragments.add(resultFragment);
137 resultFragment = null;
140 node = nodeIterator.nextNode();
142 return resultFragments;
153 nodeIterator.init(document, queryFragment.getXPathExpression());
173 node = nodeIterator.nextNode();
179 resultFragment = comparator.compare(queryFragment, node);
181 return resultFragment;
189 if(
nodeIterator.toString().contentEquals(
"BidirectionallyUnNest")){
UpdatableFragment match(Document document, UpdatableFragment queryFragment)
ArrayList< UpdatableFragment > matchAll(Document document, UpdatableFragment queryFragment)
Comparator getComparator()
void InitIterator(Document document, UpdatableFragment queryFragment)
NodeIterator nodeIterator
Generic class for node iterators.
NodeIterator getNodeIterator()
Class for XML document fragment.
void setNodeIterator(NodeIterator nodeIterator)
boolean hasBidirectionalIterator()
void setComparator(Comparator comparator)
Class consisting of traversing method and compare method.
Node iterator which is gradually unnesting.
Matcher(NodeIterator nodeIterator, Comparator comparator)
Class for matcher consisting of comparator and node iterator.
boolean iteratorInitialized
UpdatableFragment matchInNextNode(UpdatableFragment queryFragment)