Class Namespaces

java.lang.Object
org.exolab.castor.xml.Namespaces

public final class Namespaces extends Object
A class for handling Namespace declaration and scoping
Version:
$Revision: 5951 $ $Date: 2004-09-09 23:04:08 -0600 (Thu, 09 Sep 2004) $
Author:
Keith Visco
  • Field Details

  • Constructor Details

    • Namespaces

      public Namespaces()
      Creates a new Namespaces instance
    • Namespaces

      public Namespaces(Namespaces parent)
      Creates a new Namespaces instance
  • Method Details

    • addNamespace

      public void addNamespace(String prefix, String uri)
      Adds the given namespace declaration to this Namespaces
      Parameters:
      prefix - the namespace prefix
      uri - the namespace URI to be associated with the given prefix
    • createNamespaces

      public Namespaces createNamespaces()
      Creates a new Namespaces instance with this Namespaces as the parent
    • getLocalNamespaces

      public Enumeration getLocalNamespaces()
      Returns an Enumeration of local namespace URIs for this Namespaces.
      Returns:
      an Enumeration of local namespace URIs.
    • getNamespaceURI

      public String getNamespaceURI(String prefix)
      Returns the Namespace URI associated with the given prefix
      Parameters:
      prefix - the namespace prefix to lookup
      Returns:
      the namespace URI associated with the given prefix
    • getNamespacePrefix

      public String getNamespacePrefix(String nsURI)
      Returns the Namespace prefix associated with the given URI. If multiple namespace prefixes have been declared, then the first one found is returned. To obtain all prefixes see #getNamespacePrefixes.
      Parameters:
      nsURI - the namespace URI to lookup
      Returns:
      the namespace prefix associated with the given URI
    • getLocalNamespacePrefixes

      public Enumeration getLocalNamespacePrefixes()
      Returns all namespace prefixes declared locally
      Returns:
      an Enumeration of locally declared namespace prefixes
    • getNamespacePrefixes

      public String[] getNamespacePrefixes(String nsURI)
      Returns all namespace prefixes associated with the given URI, including those from parent scopes.
      Parameters:
      nsURI - the namespace URI to lookup
      Returns:
      the namespace prefixes associated with the given URI
    • getNamespacePrefixes

      public String[] getNamespacePrefixes(String nsURI, boolean local)
      Returns the Namespace prefixes associated with the given URI.
      Parameters:
      nsURI - the namespace URI to lookup
      local - a boolean that when true indicates only the local scope is searched.
      Returns:
      the namespace prefixes associated with the given URI
    • getNonDefaultNamespacePrefix

      public String getNonDefaultNamespacePrefix(String nsURI)
      Returns the Namespace prefix associated with the given URI. Or null if no prefix has been declared. This method will ignore the default namespace. This is useful when dealing with attributes that do not use the default namespace.
      Parameters:
      nsURI - the namespace URI to lookup
      Returns:
      the namespace prefix associated with the given URI
    • getParent

      public Namespaces getParent()
      Returns the parent Namespaces for this Namespaces instance.
      Returns:
      the parent Namespaces for this Namespaces instance.
    • removeNamespace

      public boolean removeNamespace(String prefix)
      Removes the namespace declaration for the given prefix. This is a local action only, the namespace declaration will not be removed from any parent Namespaces object.
      Parameters:
      prefix - the namespace prefix to remove the binding of
      Returns:
      true if the namespace declaration was removed, otherwise false.
    • setParent

      public void setParent(Namespaces namespaces)
      Sets the parent Namespaces for this Namespaces instance.
      Parameters:
      namespaces - the parent Namespaces
    • sendEndEvents

      public void sendEndEvents(ContentHandler handler) throws SAXException
      Calls the given ContentHandler's endPrefixMapping method for each locally declared namespace
      Parameters:
      handler - the ContentHandler
      Throws:
      SAXException
    • sendStartEvents

      public void sendStartEvents(ContentHandler handler) throws SAXException
      Calls the given ContentHandler's startPrefixMapping method for each locally declared namespace
      Parameters:
      handler - the ContentHandler
      Throws:
      SAXException
    • declareAsAttributes

      public void declareAsAttributes(AttributeListImpl atts, boolean localOnly)
      Declare the namespaces of this stack in as attributes.
      Parameters:
      atts - the Attribute List to fill in.