org.jaxen
Class SimpleNamespaceContext

java.lang.Object
  extended by org.jaxen.SimpleNamespaceContext
All Implemented Interfaces:
Serializable, NamespaceContext

public class SimpleNamespaceContext
extends Object
implements NamespaceContext, Serializable

Provides mappings from namespace prefix to namespace URI to the XPath engine.

See Also:
Serialized Form

Constructor Summary
SimpleNamespaceContext()
          Creates a new empty namespace context.
SimpleNamespaceContext(Map namespaces)
          Creates a new namespace context pre-populated with the specified bindings.
 
Method Summary
 void addElementNamespaces(Navigator nav, Object element)
          Adds all the namespace declarations that are in scope on the given element.
 void addNamespace(String prefix, String URI)
          Binds a prefix to a URI in this context.
 String translateNamespacePrefixToUri(String prefix)
          Translate the provided namespace prefix into the matching bound namespace URI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleNamespaceContext

public SimpleNamespaceContext()
Creates a new empty namespace context.


SimpleNamespaceContext

public SimpleNamespaceContext(Map namespaces)
Creates a new namespace context pre-populated with the specified bindings.

Parameters:
namespaces - the initial namespace bindings in scope. The keys in this must be strings containing the prefixes and the values are strings containing the namespace URIs.
Throws:
NullPointerException - if the argument is null
ClassCastException - if any keys or values in the map are not strings
Method Detail

addElementNamespaces

public void addElementNamespaces(Navigator nav,
                                 Object element)
                          throws UnsupportedAxisException
Adds all the namespace declarations that are in scope on the given element. In the case of an XSLT stylesheet, this would be the element that has the XPath expression in one of its attributes; e.g. <xsl:if test="condition/xpath/expression">.

Parameters:
nav - the navigator for use in conjunction with element
element - the element to copy the namespaces from
Throws:
UnsupportedAxisException - if the navigator does not support the namespace axis

addNamespace

public void addNamespace(String prefix,
                         String URI)
Binds a prefix to a URI in this context.

Parameters:
prefix - the namespace prefix
URI - the namespace URI

translateNamespacePrefixToUri

public String translateNamespacePrefixToUri(String prefix)
Description copied from interface: NamespaceContext
Translate the provided namespace prefix into the matching bound namespace URI.

In XPath, there is no such thing as a 'default namespace'. The empty prefix always resolves to the empty namespace URI. This method should return null for the empty prefix. Similarly, the prefix "xml" always resolves to the URI "http://www.w3.org/XML/1998/namespace".

Specified by:
translateNamespacePrefixToUri in interface NamespaceContext
Parameters:
prefix - the namespace prefix to resolve
Returns:
the namespace URI bound to the prefix; or null if there is no such namespace


Copyright © 2001-2008 Codehaus. All Rights Reserved.