private boolean nextMatches(XdmNode node) { XdmItem nodeValue = computeGroup(node); if (nodeValue == null) { return false; } XdmSequenceIterator iter = node.axisIterator(Axis.FOLLOWING_SIBLING); while (iter.hasNext()) { XdmNode chk = (XdmNode) iter.next(); boolean skippable = (chk.getNodeKind() == XdmNodeKind.COMMENT || chk.getNodeKind() == XdmNodeKind.PROCESSING_INSTRUCTION); if (chk.getNodeKind() == XdmNodeKind.TEXT) { if ("".equals(chk.toString().trim())) { skippable = true; } } if (matcher.matches(chk)) { XdmItem nextValue = computeGroup(chk); boolean same = S9apiUtils.xpathEqual(runtime.getProcessor(), nodeValue, nextValue); return same; } if (!skippable) { return false; } } return false; }
private boolean nextMatches(XdmNode node) { XdmItem nodeValue = computeGroup(node); if (nodeValue == null) { return false; } XdmSequenceIterator iter = node.axisIterator(Axis.FOLLOWING_SIBLING); while (iter.hasNext()) { XdmNode chk = (XdmNode) iter.next(); boolean skippable = (chk.getNodeKind() == XdmNodeKind.COMMENT || chk.getNodeKind() == XdmNodeKind.PROCESSING_INSTRUCTION); if (chk.getNodeKind() == XdmNodeKind.TEXT) { if ("".equals(chk.toString().trim())) { skippable = true; } } if (matcher.matches(chk)) { XdmItem nextValue = computeGroup(chk); boolean same = S9apiUtils.xpathEqual(runtime.getProcessor(), nodeValue, nextValue); return same; } if (!skippable) { return false; } } return false; }