com.sun.org.apache.xml.internal.dtm.DTMAxisTraverser

Here are the examples of the java api class com.sun.org.apache.xml.internal.dtm.DTMAxisTraverser taken from open source projects.

1. StepPattern#executeRelativePathPattern()

Project: openjdk
File: StepPattern.java
/**
   * Execute the match pattern step relative to another step.
   *
   *
   * @param xctxt The XPath runtime context.
   * @param dtm The DTM of the current node.
   * @param currentNode The current node context.
   *
   * @return {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NODETEST},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NONE},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_NSWILD},
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_QNAME}, or
   *         {@link com.sun.org.apache.xpath.internal.patterns.NodeTest#SCORE_OTHER}.
   *
   * @throws javax.xml.transform.TransformerException
   */
protected final XObject executeRelativePathPattern(XPathContext xctxt, DTM dtm, int currentNode) throws javax.xml.transform.TransformerException {
    XObject score = NodeTest.SCORE_NONE;
    int context = currentNode;
    DTMAxisTraverser traverser;
    traverser = dtm.getAxisTraverser(m_axis);
    for (int relative = traverser.first(context); DTM.NULL != relative; relative = traverser.next(context, relative)) {
        try {
            xctxt.pushCurrentNode(relative);
            score = execute(xctxt);
            if (score != NodeTest.SCORE_NONE)
                break;
        } finally {
            xctxt.popCurrentNode();
        }
    }
    return score;
}

2. DescendantIterator#asNode()

Project: openjdk
File: DescendantIterator.java
/**
   * Return the first node out of the nodeset, if this expression is
   * a nodeset expression.  This is the default implementation for
   * nodesets.
   * <p>WARNING: Do not mutate this class from this function!</p>
   * @param xctxt The XPath runtime context.
   * @return the first node out of the nodeset, or DTM.NULL.
   */
public int asNode(XPathContext xctxt) throws javax.xml.transform.TransformerException {
    if (getPredicateCount() > 0)
        return super.asNode(xctxt);
    int current = xctxt.getCurrentNode();
    DTM dtm = xctxt.getDTM(current);
    DTMAxisTraverser traverser = dtm.getAxisTraverser(m_axis);
    String localName = getLocalName();
    String namespace = getNamespace();
    int what = m_whatToShow;
    // NodeTest.debugWhatToShow(what);
    if (DTMFilter.SHOW_ALL == what || localName == NodeTest.WILD || namespace == NodeTest.WILD) {
        return traverser.first(current);
    } else {
        int type = getNodeTypeTest(what);
        int extendedType = dtm.getExpandedTypeID(namespace, localName, type);
        return traverser.first(current, extendedType);
    }
}