コード例 #1
0
ファイル: JDOMXPath.java プロジェクト: doncorley/jdom
  /**
   * Returns the number value of the first item selected by applying the wrapped XPath expression to
   * the given context.
   *
   * @param context the element to use as context for evaluating the XPath expression.
   * @return the number value of the first item selected by applying the wrapped XPath expression to
   *     the given context, <code>null</code> if no node was selected or the special value {@link
   *     java.lang.Double#NaN} (Not-a-Number) if the selected value can not be converted into a
   *     number value.
   * @throws JDOMException if the XPath expression is invalid or its evaluation on the specified
   *     context failed.
   */
  @Override
  public Number numberValueOf(Object context) throws JDOMException {
    try {
      navigator.setContext(context);

      return xPath.numberValueOf(context);
    } catch (JaxenException ex1) {
      throw new JDOMException(
          "XPath error while evaluating \"" + xPath.toString() + "\": " + ex1.getMessage(), ex1);
    } finally {
      navigator.reset();
    }
  }
コード例 #2
0
ファイル: JDOMXPath.java プロジェクト: doncorley/jdom
  /**
   * Evaluates the wrapped XPath expression and returns the first entry in the list of selected
   * nodes (or atomics).
   *
   * @param context the node to use as context for evaluating the XPath expression.
   * @return the first selected item, which may be of types: {@link Element}, {@link Attribute},
   *     {@link Text}, {@link CDATA}, {@link Comment}, {@link ProcessingInstruction}, Boolean,
   *     Double, String, or <code>null</code> if no item was selected.
   * @throws JDOMException if the evaluation of the XPath expression on the specified context
   *     failed.
   */
  @Override
  public Object selectSingleNode(Object context) throws JDOMException {
    try {
      navigator.setContext(context);

      return unWrapNS(xPath.selectSingleNode(context));
    } catch (JaxenException ex1) {
      throw new JDOMException(
          "XPath error while evaluating \"" + xPath.toString() + "\": " + ex1.getMessage(), ex1);
    } finally {
      navigator.reset();
    }
  }
コード例 #3
0
ファイル: JDOMXPath.java プロジェクト: doncorley/jdom
 /**
  * Adds a namespace definition to the list of namespaces known of this XPath expression.
  *
  * <p><strong>Note</strong>: In XPath, there is no such thing as a 'default namespace'. The empty
  * prefix <b>always</b> resolves to the empty namespace URI.
  *
  * @param namespace the namespace.
  */
 @Override
 public void addNamespace(Namespace namespace) {
   navigator.includeNamespace(namespace);
 }