Class XPathUtils

java.lang.Object
at.gv.egovernment.moaspss.util.XPathUtils

public class XPathUtils extends Object
Utility methods to evaluate XPath expressions on DOM nodes.
  • Field Details

    • ALL_NODES_XPATH

      public static final String ALL_NODES_XPATH
      The XPath expression selecting all nodes under a given root (including the root node itself).
      See Also:
  • Constructor Details

    • XPathUtils

      public XPathUtils()
  • Method Details

    • selectNodeIterator

      public static NodeIterator selectNodeIterator(Node contextNode, String exp) throws XPathException
      Return a NodeIterator over the nodes matching the XPath expression. All namespace URIs and prefixes declared in the Constants interface are used for resolving namespaces.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      exp - The XPath expression to evaluate.
      Returns:
      An iterator over the resulting nodes.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectNodeIterator

      public static NodeIterator selectNodeIterator(Node contextNode, Element namespaceElement, String exp) throws XPathException
      Return a NodeIterator over the nodes matching the XPath expression.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      namespaceElement - An element from which to build the namespace mapping for evaluating the XPath expression
      exp - The XPath expression to evaluate.
      Returns:
      An iterator over the resulting nodes.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectNodeIterator

      public static NodeIterator selectNodeIterator(Node contextNode, Map namespaceMapping, String exp) throws XPathException
      Return a NodeIterator over the nodes matching the XPath expression.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      namespaceMapping - A namespace prefix to namespace URI mapping (String to String) for evaluating the XPath expression.
      exp - The XPath expression to evaluate.
      Returns:
      An iterator over the resulting nodes.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectNodeList

      public static NodeList selectNodeList(Node contextNode, String exp) throws XPathException
      Return a NodeList of all the nodes matching the XPath expression. All namespace URIs and prefixes declared in the Constants interface are used for resolving namespaces.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      exp - The XPath expression to evaluate.
      Returns:
      A NodeList containing the matching nodes.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectNodeList

      public static NodeList selectNodeList(Node contextNode, Element namespaceElement, String exp) throws XPathException
      Return a NodeList of all the nodes matching the XPath expression.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      namespaceElement - An element from which to build the namespace mapping for evaluating the XPath expression
      exp - The XPath expression to evaluate.
      Returns:
      A NodeList containing the matching nodes.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectNodeList

      public static NodeList selectNodeList(Node contextNode, Map namespaceMapping, String exp) throws XPathException
      Return a NodeList of all the nodes matching the XPath expression.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      namespaceMapping - A namespace prefix to namespace URI mapping (String to String) for evaluating the XPath expression.
      exp - The XPath expression to evaluate.
      Returns:
      A NodeList containing the matching nodes.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectSingleNode

      public static Node selectSingleNode(Node contextNode, String exp) throws XPathException
      Select the first node matching an XPath expression. All namespace URIs and prefixes declared in the Constants interface are used for resolving namespaces.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      exp - The XPath expression to evaluate.
      Returns:
      Node The first node matching the XPath expression, or null, if no node matched.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectSingleNode

      public static Node selectSingleNode(Node contextNode, Element namespaceElement, String exp) throws XPathException
      Select the first node matching an XPath expression.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      namespaceElement - An element from which to build the namespace mapping for evaluating the XPath expression
      exp - The XPath expression to evaluate.
      Returns:
      Node The first node matching the XPath expression, or null, if no node matched.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectSingleNode

      public static Node selectSingleNode(Node contextNode, Map namespaceMapping, String exp) throws XPathException
      Select the first node matching an XPath expression.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      namespaceMapping - A namespace prefix to namespace URI mapping (String to String) for evaluating the XPath expression.
      exp - The XPath expression to evaluate.
      Returns:
      Node The first node matching the XPath expression, or null, if no node matched.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • selectSingleNode

      public static Node selectSingleNode(Node contextNode, org.jaxen.NamespaceContext nsContext, String exp) throws XPathException
      Select the first node matching an XPath expression.
      Parameters:
      contextNode - The root node from which to evaluate the XPath expression.
      nsContext - The NamespaceContext for resolving namespace prefixes to namespace URIs for evaluating the XPath expression.
      exp - The XPath expression to evaluate.
      Returns:
      Node The first node matching the XPath expression, or null, if no node matched.
      Throws:
      XPathException - An error occurred evaluating the XPath expression.
    • getElementValue

      public static String getElementValue(Element root, String xpath, String def)
      Return the value of a DOM element whose location is given by an XPath expression.
      Parameters:
      root - The root element from which to evaluate the XPath.
      xpath - The XPath expression pointing to the element whose value to return.
      def - The default value to return, if no element can be found using the given xpath.
      Returns:
      The element value, if it can be located using the xpath. Otherwise, def is returned.
    • getAttributeValue

      public static String getAttributeValue(Element root, String xpath, String def)
      Return the value of a DOM attribute whose location is given by an XPath expression.
      Parameters:
      root - The root element from which to evaluate the XPath.
      xpath - The XPath expression pointing to the attribute whose value to return.
      def - The default value to return, if no attribute can be found using the given xpath.
      Returns:
      The element value, if it can be located using the xpath. Otherwise, def is returned.
    • getSlPrefix

      public static String getSlPrefix(Element contextElement) throws XPathException
      Returns the namespace prefix used within XPathUtils for referring to the namespace of the specified (Security Layer command) element. This namespace prefix can be used in various XPath expression evaluation methods within XPathUtils without explicitely binding it to the particular namespace.
      Parameters:
      contextElement - The (Security Layer command) element.
      Returns:
      the namespace prefix used within XPathUtils for referring to the namespace of the specified (Security Layer command) element. throws XpathException If the specified element has a namespace other than the ones known by this implementation as valid Security Layer namespaces (cf.
      Throws:
      XPathException
    • getSlPrefixFromNoRoot

      public static String getSlPrefixFromNoRoot(Element contextElement) throws XPathException
      Return the SecurityLayer namespace prefix of the context element. If the context element is not the element that lies within the SecurityLayer namespace. The Securitylayer namespace is derived from the xmlns:sl10, sl11 or sl attribute of the context element. The returned prefix is needed for evaluating XPATH expressions.
      Parameters:
      contextElement - The element to get a prefix for the Securitylayer namespace, that is used within the corresponding document.
      Returns:
      The string sl10, sl11 or sl, depending on the SecurityLayer namespace of the contextElement. throws XPathException If no (vlalid) SecurityLayer namespace prefix or namespace is defined.
      Throws:
      XPathException