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


Copyright © 2005 Apache XML Project. All Rights Reserved.