public class

MultipleScopeNamespaceSupport

extends NamespaceSupport
java.lang.Object
   ↳ org.apache.xerces.util.NamespaceSupport
     ↳ org.apache.xerces.xinclude.MultipleScopeNamespaceSupport
Known Direct Subclasses

Class Overview

This implementation of NamespaceContext has the ability to maintain multiple scopes of namespace/prefix bindings. This is useful in situations when it is not always appropriate for elements to inherit the namespace bindings of their ancestors (such as included elements in XInclude). When searching for a URI to match a prefix, or a prefix to match a URI, it is searched for in the current context, then the ancestors of the current context, up to the beginning of the current scope. Other scopes are not searched.

Summary

Fields
protected int fCurrentScope
protected int[] fScope
[Expand]
Inherited Fields
From class org.apache.xerces.util.NamespaceSupport
From interface org.apache.xerces.xni.NamespaceContext
Public Constructors
MultipleScopeNamespaceSupport()
MultipleScopeNamespaceSupport(NamespaceContext context)
Public Methods
Enumeration getAllPrefixes()
Return an enumeration of all prefixes whose declarations are active in the current context.
String getPrefix(String uri)
Look up a namespace URI and get one of the mapped prefix.
String getPrefix(String uri, int start, int end)
String getPrefix(String uri, int context)
int getScopeForContext(int context)
String getURI(String prefix, int context)
String getURI(String prefix)
Look up a prefix and get the currently-mapped Namespace URI.
String getURI(String prefix, int start, int end)
void popScope()
Pops the current scope.
void pushScope()
Begins a new scope.
void reset()
Only resets the current scope -- all namespaces defined in lower scopes remain valid after a call to reset.
[Expand]
Inherited Methods
From class org.apache.xerces.util.NamespaceSupport
From class java.lang.Object
From interface org.apache.xerces.xni.NamespaceContext

Fields

protected int fCurrentScope

protected int[] fScope

Public Constructors

public MultipleScopeNamespaceSupport ()

public MultipleScopeNamespaceSupport (NamespaceContext context)

Public Methods

public Enumeration getAllPrefixes ()

Return an enumeration of all prefixes whose declarations are active in the current context. This includes declarations from parent contexts that have not been overridden.

Returns
  • Enumeration

public String getPrefix (String uri)

Look up a namespace URI and get one of the mapped prefix.

This method looks up the namespace URI in the current context. If more than one prefix is currently mapped to the same URI, this method will make an arbitrary selection If no mapping is found, this methods will continue lookup in the parent context(s).

Parameters
uri The namespace URI to look up.
Returns
  • One of the associated prefixes, or null if the uri does not map to any prefix.

public String getPrefix (String uri, int start, int end)

public String getPrefix (String uri, int context)

public int getScopeForContext (int context)

public String getURI (String prefix, int context)

public String getURI (String prefix)

Look up a prefix and get the currently-mapped Namespace URI.

This method looks up the prefix in the current context. If no mapping is found, this methods will continue lookup in the parent context(s). Use the empty string ("") for the default Namespace.

Parameters
prefix The prefix to look up.
Returns
  • The associated Namespace URI, or null if the prefix is undeclared in this context.

public String getURI (String prefix, int start, int end)

public void popScope ()

Pops the current scope. The namespace bindings from the new current scope are then used for searching for namespaces and prefixes.

public void pushScope ()

Begins a new scope. None of the previous namespace bindings will be used, until the new scope is popped with popScope()

public void reset ()

Only resets the current scope -- all namespaces defined in lower scopes remain valid after a call to reset.