org.apache.xerces.stax

## Class DefaultNamespaceContext

- java.lang.Object
- - org.apache.xerces.stax.DefaultNamespaceContext

All Implemented Interfaces:
  javax.xml.namespace.NamespaceContext

    public final class DefaultNamespaceContext
    extends java.lang.Object
    implements javax.xml.namespace.NamespaceContext

A `NamespaceContext` which only contains bindings for the xml and xmlns prefixes.

Version:
  $Id: DefaultNamespaceContext.java 730672 2009-01-02 06:15:08Z mrglavas $
Author:
  Michael Glavassevich, IBM

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static DefaultNamespaceContext` `getInstance()` Returns the one and only instance of this class.
`java.lang.String` `getNamespaceURI(java.lang.String prefix)` Get Namespace URI bound to a prefix in the current scope.
`java.lang.String` `getPrefix(java.lang.String namespaceURI)` Get prefix bound to Namespace URI in the current scope.
`java.util.Iterator` `getPrefixes(java.lang.String namespaceURI)` Get all prefixes bound to a Namespace URI in the current scope.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### getInstance

    public static DefaultNamespaceContext getInstance()

Returns the one and only instance of this class.

#### getNamespaceURI

    public java.lang.String getNamespaceURI(java.lang.String prefix)

Description copied from interface: `javax.xml.namespace.NamespaceContext`

Get Namespace URI bound to a prefix in the current scope.

When requesting a Namespace URI by prefix, the following table describes the returned Namespace URI value for all possible prefix values:

`getNamespaceURI(prefix)` return value for specified prefixes
prefix parameter | Namespace URI return value
`DEFAULT_NS_PREFIX` ("") | default Namespace URI in the current scope or ``XMLConstants.NULL_NS_URI("")`` when there is no default Namespace URI in the current scope
bound prefix | Namespace URI bound to prefix in current scope
unbound prefix | ``XMLConstants.NULL_NS_URI("")``
`XMLConstants.XML_NS_PREFIX` ("xml") | `XMLConstants.XML_NS_URI` ("http://www.w3.org/XML/1998/namespace")
`XMLConstants.XMLNS_ATTRIBUTE` ("xmlns") | `XMLConstants.XMLNS_ATTRIBUTE_NS_URI` ("http://www.w3.org/2000/xmlns/")
`null` | `IllegalArgumentException` is thrown

Specified by:
  `getNamespaceURI` in interface `javax.xml.namespace.NamespaceContext`
Parameters:
  `prefix` - prefix to look up
Returns:
  Namespace URI bound to prefix in the current scope

#### getPrefix

    public java.lang.String getPrefix(java.lang.String namespaceURI)

Description copied from interface: `javax.xml.namespace.NamespaceContext`

Get prefix bound to Namespace URI in the current scope.

To get all prefixes bound to a Namespace URI in the current scope, use `NamespaceContext.getPrefixes(String namespaceURI)`.

When requesting a prefix by Namespace URI, the following table describes the returned prefix value for all Namespace URI values:

`getPrefix(namespaceURI)` return value for specified Namespace URIs
Namespace URI parameter | prefix value returned
<default Namespace URI> | `XMLConstants.DEFAULT_NS_PREFIX` ("")
bound Namespace URI | prefix bound to Namespace URI in the current scope, if multiple prefixes are bound to the Namespace URI in the current scope, a single arbitrary prefix, whose choice is implementation dependent, is returned
unbound Namespace URI | `null`
`XMLConstants.XML_NS_URI` ("http://www.w3.org/XML/1998/namespace") | `XMLConstants.XML_NS_PREFIX` ("xml")
`XMLConstants.XMLNS_ATTRIBUTE_NS_URI` ("http://www.w3.org/2000/xmlns/") | `XMLConstants.XMLNS_ATTRIBUTE` ("xmlns")
`null` | `IllegalArgumentException` is thrown

Specified by:
  `getPrefix` in interface `javax.xml.namespace.NamespaceContext`
Parameters:
  `namespaceURI` - URI of Namespace to lookup
Returns:
  prefix bound to Namespace URI in current context

#### getPrefixes

    public java.util.Iterator getPrefixes(java.lang.String namespaceURI)

Description copied from interface: `javax.xml.namespace.NamespaceContext`

Get all prefixes bound to a Namespace URI in the current scope.

An Iterator over String elements is returned in an arbitrary, implementation dependent, order.

The `Iterator` is not modifiable. e.g. the `remove()` method will throw `UnsupportedOperationException`.

When requesting prefixes by Namespace URI, the following table describes the returned prefixes value for all Namespace URI values:

`getPrefixes(namespaceURI)` return value for specified Namespace URIs
Namespace URI parameter | prefixes value returned
bound Namespace URI, including the <default Namespace URI> | `Iterator` over prefixes bound to Namespace URI in the current scope in an arbitrary, implementation dependent, order
unbound Namespace URI | empty `Iterator`
`XMLConstants.XML_NS_URI` ("http://www.w3.org/XML/1998/namespace") | `Iterator` with one element set to `XMLConstants.XML_NS_PREFIX` ("xml")
`XMLConstants.XMLNS_ATTRIBUTE_NS_URI` ("http://www.w3.org/2000/xmlns/") | `Iterator` with one element set to `XMLConstants.XMLNS_ATTRIBUTE` ("xmlns")
`null` | `IllegalArgumentException` is thrown

Specified by:
  `getPrefixes` in interface `javax.xml.namespace.NamespaceContext`
Parameters:
  `namespaceURI` - URI of Namespace to lookup
Returns:
  `Iterator` for all prefixes bound to the Namespace URI in the current scope