net.sf.saxon.om

## Class NamespaceBinding

- java.lang.Object
- - 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static NamespaceBinding` | `DEFAULT_UNDECLARATION`
    `static NamespaceBinding[]` | `EMPTY_ARRAY`
    `static NamespaceBinding` | `XML`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NamespaceBinding(String prefix, String uri)` Create a binding of a prefix to a URI

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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-2013 Saxonica Limited. All rights reserved.