Package gnu.xml

Class NamespaceBinding

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable

    public final class NamespaceBinding
    extends java.lang.Object
    implements java.io.Externalizable
    A "namespace node" as a link in a linked list. The list may contain duplicates - i.e. multiple namespace bindings for the same prefix but (usually) different uris. In that case the first binding "wins". One reason for allowing duplicates it to allow sharing of the lists between a child and its parent element.
    See Also:
    Serialized Form
    • Constructor Detail

      • NamespaceBinding

        public NamespaceBinding​(java.lang.String prefix,
                                java.lang.String uri,
                                NamespaceBinding next)
    • Method Detail

      • getPrefix

        public final java.lang.String getPrefix()
        Namespace prefix. An interned String. A default namespace declaration is represented using null.
      • setPrefix

        public final void setPrefix​(java.lang.String prefix)
      • getUri

        public final java.lang.String getUri()
        Namespace uri. An interned String. The value null "undeclares" any following namespaces with the same prefix; it corresponds to an empty uri as in the XML Namespaces 1.1 Candidate Recommendation.
      • setUri

        public final void setUri​(java.lang.String uri)
      • resolve

        public java.lang.String resolve​(java.lang.String prefix)
        Resolve a prefix.
        Parameters:
        prefix - an interned namespace prefix to search for.
        Returns:
        a uri or null if not bound
      • resolve

        public java.lang.String resolve​(java.lang.String prefix,
                                        NamespaceBinding fencePost)
        Resolve a prefix, in the initial part of this list.
        Parameters:
        prefix - an interned namespace prefix to search for.
        fencePost - only search this list until then.
        Returns:
        a uri or null if not bound
      • count

        public int count​(NamespaceBinding fencePost)
        Return the number of bindings before the fencePost.
      • maybeAdd

        public static NamespaceBinding maybeAdd​(java.lang.String prefix,
                                                java.lang.String uri,
                                                NamespaceBinding bindings)
        Append a new NamespaceBinding if not redundant.
      • toString

        public java.lang.String toString()
        Return a String showing just a single namespace binding.
        Overrides:
        toString in class java.lang.Object
      • toStringAll

        public java.lang.String toStringAll()
        Return a String showing the full namespace binding list.
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException