java.lang.Object
org.apache.xml.security.utils.resolver.ResourceResolverSpi
org.apache.xml.security.utils.resolver.implementations.ResolverXPointer

public class ResolverXPointer extends ResourceResolverSpi
Handles barename XPointer Reference URIs.

To retain comments while selecting an element by an identifier ID, use the following full XPointer: URI='#xpointer(id('ID'))'.

To retain comments while selecting the entire document, use the following full XPointer: URI='#xpointer(/)'. This XPointer contains a simple XPath expression that includes the root node, which the second to last step above replaces with all nodes of the parse tree (all descendants, plus all attributes, plus all namespaces nodes).
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
    • XP

      private static final String XP
      See Also:
    • XP_LENGTH

      private static final int XP_LENGTH
  • Constructor Details

    • ResolverXPointer

      public ResolverXPointer()
  • Method Details

    • engineIsThreadSafe

      public boolean engineIsThreadSafe()
      Description copied from class: ResourceResolverSpi
      Tells if the implementation does can be reused by several threads safely. It normally means that the implementation does not have any member, or there is member change between engineCanResolve and engineResolve invocations. Or it maintains all member info in ThreadLocal methods.
      Overrides:
      engineIsThreadSafe in class ResourceResolverSpi
    • engineResolveURI

      public XMLSignatureInput engineResolveURI(ResourceResolverContext context) throws ResourceResolverException
      This is the workhorse method used to resolve resources.
      Specified by:
      engineResolveURI in class ResourceResolverSpi
      Parameters:
      context - Context to use to resolve resources.
      Returns:
      the resource wrapped around a XMLSignatureInput
      Throws:
      ResourceResolverException
    • engineCanResolveURI

      public boolean engineCanResolveURI(ResourceResolverContext context)
      This method helps the ResourceResolver to decide whether a ResourceResolverSpi is able to perform the requested action.
      Specified by:
      engineCanResolveURI in class ResourceResolverSpi
      Parameters:
      context - Context in which to do resolution.
      Returns:
      true if the engine can resolve the uri
    • isXPointerSlash

      private static boolean isXPointerSlash(String uri)
      Method isXPointerSlash
      Parameters:
      uri -
      Returns:
      true if begins with xpointer
    • isXPointerId

      private static boolean isXPointerId(String uri)
      Method isXPointerId
      Parameters:
      uri -
      Returns:
      whether it has an xpointer id
    • getXPointerId

      private static String getXPointerId(String uri)
      Method getXPointerId
      Parameters:
      uri -
      Returns:
      xpointerId to search.