private int getDepth(Object o) throws UnsupportedAxisException { int depth = 0; Object parent = o; while ((parent = navigator.getParentNode(parent)) != null) { depth++; } return depth; }
private void init() throws UnsupportedAxisException { Object parent = this.navigator.getParentNode( this.contextNode ); if ( parent != null ) { siblingIter = this.navigator.getChildAxisIterator( parent ); while ( siblingIter.hasNext() ) { Object eachChild = siblingIter.next(); if ( eachChild.equals(this.contextNode) ) break; } } else { siblingIter = JaxenConstants.EMPTY_ITERATOR; } }
private void init() throws UnsupportedAxisException { Object parent = this.navigator.getParentNode( this.contextNode ); if ( parent != null ) { Iterator childIter = this.navigator.getChildAxisIterator( parent ); LinkedList siblings = new LinkedList(); while ( childIter.hasNext() ) { Object eachChild = childIter.next(); if ( eachChild.equals(this.contextNode) ) { break; } siblings.addFirst( eachChild ); } this.siblingIter = siblings.iterator(); } else { this.siblingIter = JaxenConstants.EMPTY_ITERATOR; } }
/** * Returns the next ancestor-or-self node. * * @return the next ancestor-or-self node * * @throws NoSuchElementException if no ancestors remain * * @see java.util.Iterator#next() */ public Object next() { try { if (hasNext()) { Object result = contextNode; contextNode = navigator.getParentNode(contextNode); return result; } throw new NoSuchElementException("Exhausted ancestor-or-self axis"); } catch (UnsupportedAxisException e) { throw new JaxenRuntimeException(e); } }
private static boolean evaluate(Object node, String lang, Navigator nav) throws UnsupportedAxisException { Object element = node; if (! nav.isElement(element)) { element = nav.getParentNode(node); } while (element != null && nav.isElement(element)) { Iterator attrs = nav.getAttributeAxisIterator(element); while(attrs.hasNext()) { Object attr = attrs.next(); if(LANG_LOCALNAME.equals(nav.getAttributeName(attr)) && XMLNS_URI.equals(nav.getAttributeNamespaceUri(attr))) { return isSublang(nav.getAttributeStringValue(attr), lang); } } element = nav.getParentNode(element); } return false; }
Object parent = navigator.getParentNode( node ); if ( parent == null ) Object ancestor = navigator.getParentNode( node ); while (true) ancestor = navigator.getParentNode( ancestor );
Object p1 = navigator.getParentNode(o1); Object p2 = navigator.getParentNode(o2); a1 = navigator.getParentNode(a1); depth1--; a2 = navigator.getParentNode(a2); depth2--; Object p1 = navigator.getParentNode(a1); Object p2 = navigator.getParentNode(a2); if (p1 == p2) { return compareSiblings(a1, a2);
private boolean goUp() { if ( contextNode == null || navigator.isDocument(contextNode) ) { return false; } try { contextNode = navigator.getParentNode( contextNode ); if ( contextNode != null && !navigator.isDocument(contextNode) ) { siblings = navigator.getFollowingSiblingAxisIterator(contextNode); return true; } else { return false; } } catch (UnsupportedAxisException e) { throw new JaxenRuntimeException(e); } }
Element element = (Element)context.getNavigator().getParentNode(attr); baseUri = element.getBaseUri();