Class InscopeNamespaceResolver

  • All Implemented Interfaces:
    NamespaceResolver

    public class InscopeNamespaceResolver
    extends Object
    implements NamespaceResolver
    A NamespaceResolver that resolves namespace prefixes by reference to a node in a document for which those namespaces are in-scope.
    • Constructor Detail

      • InscopeNamespaceResolver

        public InscopeNamespaceResolver​(NodeInfo node)
        Create a NamespaceResolver that resolves according to the in-scope namespaces of a given node
        Parameters:
        node - the given node. Must not be null. If this is an element node, the resolver uses the in-scope namespaces of that element. If it is a document node, the only in-scope namespace is the XML namespace. If it is any other kind of node, then if the node has a parent element, the resolver uses the in-scope namespaces of the parent element, otherwise ithe only in-scope namespace is the XML namespace.
    • Method Detail

      • getURIForPrefix

        public String getURIForPrefix​(String prefix,
                                      boolean useDefault)
        Get the namespace URI corresponding to a given prefix. Return null if the prefix is not in scope.
        Specified by:
        getURIForPrefix in interface NamespaceResolver
        Parameters:
        prefix - the namespace prefix. May be the zero-length string, indicating that there is no prefix. This indicates either the default namespace or the null namespace, depending on the value of useDefault.
        useDefault - true if the default namespace is to be used when the prefix is "". If false, the method returns "" when the prefix is "".
        Returns:
        the uri for the namespace, or null if the prefix is not in scope. The "null namespace" is represented by the pseudo-URI "".
      • iteratePrefixes

        public Iterator<String> iteratePrefixes()
        Get an iterator over all the prefixes declared in this namespace context. This will include the default namespace (prefix="") and the XML namespace where appropriate
        Specified by:
        iteratePrefixes in interface NamespaceResolver
        Returns:
        an iterator over all the prefixes for which a namespace binding exists, including the zero-length string to represent the null/absent prefix if it is bound
      • getNode

        public NodeInfo getNode()
        Get the node on which this namespace resolver is based
        Returns:
        the node on which this namespace resolver is based