net.sf.saxon.om
Class NamespaceBinding

java.lang.Object
  extended by net.sf.saxon.om.NamespaceBinding

public final class NamespaceBinding
extends Object

Represents the binding of a prefix to a URI. Also, in some contexts, represents an unbinding, by virtue of the URI being set to a zero length string.

Since:
9.4

Field Summary
static NamespaceBinding DEFAULT_UNDECLARATION
           
static NamespaceBinding[] EMPTY_ARRAY
           
static NamespaceBinding XML
           
 
Constructor Summary
NamespaceBinding(String prefix, String uri)
          Create a binding of a prefix to a URI
 
Method Summary
 boolean equals(Object obj)
          Test if this namespace binding is the same as another
 String getPrefix()
          Get the prefix part of the binding
 String getURI()
          Get the URI part of the binding
 int hashCode()
           
 boolean isDefaultUndeclaration()
          Ask whether this is an undeclaration of the default prefix, that is, a namespace binding corresponding to xmlns=""
 boolean isXmlNamespace()
          Ask whether this is a binding for the XML namespace
static NamespaceBinding makeNamespaceBinding(CharSequence prefix, CharSequence uri)
          Create a binding of a prefix to a URI.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XML

public static final NamespaceBinding XML

DEFAULT_UNDECLARATION

public static final NamespaceBinding DEFAULT_UNDECLARATION

EMPTY_ARRAY

public static final NamespaceBinding[] EMPTY_ARRAY
Constructor Detail

NamespaceBinding

public NamespaceBinding(String prefix,
                        String uri)
Create a binding of a prefix to a URI

Parameters:
prefix - the prefix: either an NCName, or a zero-length string to bind the default namespace. Must not be null.
uri - the namespace URI: either a URI, or a zero-length string to unbind the prefix. Must not be null.
Method Detail

makeNamespaceBinding

public static NamespaceBinding makeNamespaceBinding(CharSequence prefix,
                                                    CharSequence uri)
Create a binding of a prefix to a URI. Static factory method for the convenience of compiled bytecode; reuses standard NamespaceBinding objects where possible

Parameters:
prefix - the prefix: either an NCName, or a zero-length string to bind the default namespace. Must not be null.
uri - the namespace URI: either a URI, or a zero-length string to unbind the prefix. Must not be null.
Returns:
the namespace binding object

getPrefix

public String getPrefix()
Get the prefix part of the binding

Returns:
the prefix. Never null. The zero-length string indicates a binding for the default namespace.

getURI

public String getURI()
Get the URI part of the binding

Returns:
the URI. Never null. The zero-length string indicates an unbinding of the prefix. For the default namespace (prefix="") this indicates that the prefix refers to names in no namespace; for other prefixes, it indicates that the prefix is not bound to any namespace and therefore cannot be used.

isXmlNamespace

public boolean isXmlNamespace()
Ask whether this is a binding for the XML namespace

Returns:
true if this is the binding of the prefix "xml" to the standard XML namespace.

isDefaultUndeclaration

public boolean isDefaultUndeclaration()
Ask whether this is an undeclaration of the default prefix, that is, a namespace binding corresponding to xmlns=""

Returns:
true if this corresponding to xmlns=""

equals

public boolean equals(Object obj)
Test if this namespace binding is the same as another

Overrides:
equals in class Object
Parameters:
obj - the comparand
Returns:
true if the comparand is a Namespace binding of the same prefix to the same URI

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.