## org.apache.xml.serializer
Class NamespaceMappings

    java.lang.Object
      org.apache.xml.serializer.NamespaceMappings

    public class NamespaceMappings

extends java.lang.Object

This class keeps track of the currently defined namespaces. Conceptually the prefix/uri/depth triplets are pushed on a stack pushed on a stack. The depth indicates the nesting depth of the element for which the mapping was made.

For example:

When the <chapter> element is encounted the prefix "p1" associated with uri "def" is pushed on the stack with depth 1. When the first <paragraph> is encountered "p2" and "ghi" are pushed with depth 2. When the <sentance> is encountered "p3" and "jkl" are pushed with depth 3. When occurs the popNamespaces(3) will pop "p3"/"jkl" off the stack. Of course popNamespaces(2) would pop anything with depth 2 or greater. So prefix/uri pairs are pushed and poped off the stack as elements are processed. At any given moment of processing the currently visible prefixes are on the stack and a prefix can be found given a uri, or a uri can be found given a prefix. This class is public only because it is used by Xalan. It is not a public API

Usage:
  **For internal use only**

Constructor Summary
`NamespaceMappings()` Default constructor

Method Summary
`java.lang.Object` `clone()` This method makes a clone of this object.
`java.lang.String` `generateNextPrefix()` Generate a new namespace prefix ( ns0, ns1 ...) not used before
`java.lang.String` `lookupNamespace(java.lang.String prefix)` Use a namespace prefix to lookup a namespace URI.
`java.lang.String` `lookupPrefix(java.lang.String uri)` Given a namespace uri, and the namespaces mappings for the current element, return the current prefix for that uri.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### NamespaceMappings

    public NamespaceMappings()

  Default constructor

  See Also:
    `Object.Object()`

Method Detail

### lookupNamespace

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

  Use a namespace prefix to lookup a namespace URI.

  Parameters:
    `prefix` - String the prefix of the namespace
  Returns:
    the URI corresponding to the prefix

### lookupPrefix

    public java.lang.String lookupPrefix(java.lang.String uri)

  Given a namespace uri, and the namespaces mappings for the current element, return the current prefix for that uri.

  Parameters:
    `uri` - the namespace URI to be search for
  Returns:
    an existing prefix that maps to the given URI, null if no prefix maps to the given namespace URI.

### generateNextPrefix

    public java.lang.String generateNextPrefix()

  Generate a new namespace prefix ( ns0, ns1 ...) not used before

  Returns:
    String a new namespace prefix ( ns0, ns1, ns2 ...)

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  This method makes a clone of this object.

  Overrides:
    `clone` in class `java.lang.Object`
  Throws:
    `java.lang.CloneNotSupportedException`

Copyright © 2005 Apache XML Project. All Rights Reserved.