org.exolab.castor.xml

Class 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

Nested Class Summary
classNamespaces.Namespace
An internal class used to represent a namespace
static classNamespaces.NamespaceEnumerator
A simple Enumeration for Namespace objects
Field Summary
static StringXML_NAMESPACE
The reserved XML 1.0 Namespace URI
static StringXML_NAMESPACE_PREFIX
The reserved XML Namespace Prefix
Constructor Summary
Namespaces()
Creates a new Namespaces instance
Namespaces(Namespaces parent)
Creates a new Namespaces instance
Method Summary
voidaddNamespace(String prefix, String uri)
Adds the given namespace declaration to this Namespaces
NamespacescreateNamespaces()
Creates a new Namespaces instance with this Namespaces as the parent
voiddeclareAsAttributes(AttributeListImpl atts, boolean localOnly)
Declare the namespaces of this stack in as attributes.
EnumerationgetLocalNamespacePrefixes()
Returns all namespace prefixes declared locally
EnumerationgetLocalNamespaces()
Returns an Enumeration of local namespace URIs for this Namespaces.
StringgetNamespacePrefix(String nsURI)
Returns the Namespace prefix associated with the given URI.
String[]getNamespacePrefixes(String nsURI)
Returns all namespace prefixes associated with the given URI, including those from parent scopes.
String[]getNamespacePrefixes(String nsURI, boolean local)
Returns the Namespace prefixes associated with the given URI.
StringgetNamespaceURI(String prefix)
Returns the Namespace URI associated with the given prefix
StringgetNonDefaultNamespacePrefix(String nsURI)
Returns the Namespace prefix associated with the given URI.
NamespacesgetParent()
Returns the parent Namespaces for this Namespaces instance.
booleanremoveNamespace(String prefix)
Removes the namespace declaration for the given prefix.
voidsendEndEvents(ContentHandler handler)
Calls the given ContentHandler's endPrefixMapping method for each locally declared namespace
voidsendStartEvents(ContentHandler handler)
Calls the given ContentHandler's startPrefixMapping method for each locally declared namespace
voidsetParent(Namespaces namespaces)
Sets the parent Namespaces for this Namespaces instance.

Field Detail

XML_NAMESPACE

public static final String XML_NAMESPACE
The reserved XML 1.0 Namespace URI

XML_NAMESPACE_PREFIX

public static final String XML_NAMESPACE_PREFIX
The reserved XML Namespace Prefix

Constructor Detail

Namespaces

public Namespaces()
Creates a new Namespaces instance

Namespaces

public Namespaces(Namespaces parent)
Creates a new Namespaces instance

Method Detail

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

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.

getLocalNamespacePrefixes

public Enumeration getLocalNamespacePrefixes()
Returns all namespace prefixes declared locally

Returns: an Enumeration of locally declared namespace prefixes

getLocalNamespaces

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

Returns: an Enumeration of local namespace URIs.

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

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

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

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.

sendEndEvents

public void sendEndEvents(ContentHandler handler)
Calls the given ContentHandler's endPrefixMapping method for each locally declared namespace

Parameters: handler the ContentHandler

sendStartEvents

public void sendStartEvents(ContentHandler handler)
Calls the given ContentHandler's startPrefixMapping method for each locally declared namespace

Parameters: handler the ContentHandler

setParent

public void setParent(Namespaces namespaces)
Sets the parent Namespaces for this Namespaces instance.

Parameters: namespaces the parent Namespaces

Intalio Inc. (C) 1999-2006. All rights reserved http://www.intalio.com