Overview | Package | Class | Tree | Deprecated | Index | Help
| JAXB v1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.xml.namespace
Interface NamespaceContext

public interface NamespaceContext

Interface for read only XML Namespace context processing.

An XML Namespace has the properties:

- Namespace URI: Namespace name expressed as a URI to which the prefix is bound
- prefix: syntactically, this is the part of the attribute name following the `XMLConstants.XMLNS_ATTRIBUTE` ("xmlns") in the Namespace declaration
- example: `<element xmlns:prefix="http://Namespace-name-URI">`

All `get*(*)` methods operate in the current scope for Namespace URI and prefix resolution.

Note that a Namespace URI can be bound to multiple prefixes in the current scope. This can occur when multiple `XMLConstants.XMLNS_ATTRIBUTE` ("xmlns") Namespace declarations occur in the same Start-Tag and refer to the same Namespace URI. e.g.
``

     <element xmlns:prefix1="http://Namespace-name-URI"

              xmlns:prefix2="http://Namespace-name-URI">

This can also occur when the same Namespace URI is used in multiple `XMLConstants.XMLNS_ATTRIBUTE` ("xmlns") Namespace declarations in the logical parent element hierarchy. e.g.
`

     <parent xmlns:prefix1="http://Namespace-name-URI">

       <child xmlns:prefix2="http://Namespace-name-URI">

         ...

       </child>

     </parent>

`

A prefix can only be bound to a single Namespace URI in the current scope.

Version:
  1.0.proposed
Author:
  JAXP Java Community Process, JAXP Reference Implementation
See Also:
  `declarations of common XML values`, Namespaces in XML, Namespaces in XML Errata, XML Schema Part2: Datatypes

Method Summary
`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.

Method Detail

### getNamespaceURI

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

  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 `null` when there is no default Namespace URI in the current scope
  bound prefix | Namespace URI bound to prefix in current scope
  unbound prefix | `null`
  `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

  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)

  Get prefix bound to Namespace URI in the current scope.

  To get all prefixes bound to a Namespace URI in the current scope, use `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

  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)

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

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

  Prefixes are returned in an arbitrary, implementation dependent, order.

  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

  Parameters:
    `namespaceURI` - URI of Namespace to lookup
  Returns:
    `Iterator` for all prefixes bound to the Namespace URI in the current scope

Overview | Package | Class | Tree | Deprecated | Index | Help
| JAXB v1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Comments to: jaxb-spec-comments@sun.com
More information at: http://java.sun.com/xml/jaxb

Copyright © 2001 by Sun Microsystems, Inc., 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.