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 element is encounted the prefix "p1" associated with uri "def" is pushed on the stack with depth 1. When the first is encountered "p2" and "ghi" are pushed with depth 2. When the 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 intended for internal use only. However, it is made public because other packages require it.
  Usage:
    **For internal use only**

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NamespaceMappings()` Default constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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[]` | `lookupAllPrefixes(java.lang.String uri)` Given a namespace uri, get all prefixes bound to the Namespace URI in the current scope.
    `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.
    `boolean` | `pushNamespace(java.lang.String prefix, java.lang.String uri, int elemDepth)` Declare a mapping of a prefix to namespace URI at the given element depth.

    - ### 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, returns "" if there is no visible mapping.

    - #### 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.

    - #### pushNamespace

          public boolean pushNamespace(java.lang.String prefix,
                                       java.lang.String uri,
                                       int elemDepth)

      Declare a mapping of a prefix to namespace URI at the given element depth.
      Parameters:
        `prefix` - a String with the prefix for a qualified name
        `uri` - a String with the uri to which the prefix is to map
        `elemDepth` - the depth of current declaration

    - #### 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`

    - #### lookupAllPrefixes

          public java.lang.String[] lookupAllPrefixes(java.lang.String uri)

      Given a namespace uri, get all prefixes bound to the Namespace URI in the current scope.
      Parameters:
        `uri` - the namespace URI to be search for
      Returns:
        An array of Strings which are all prefixes bound to the namespace URI in the current scope. An array of zero elements is returned if no prefixes map to the given namespace URI.

Copyright © 2023 Apache XML Project. All Rights Reserved.