gnu.xml

Class NamespaceBinding

public final class NamespaceBinding extends Object implements 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.
Field Summary
static NamespaceBindingpredefinedXML
static StringXML_NAMESPACE
Constructor Summary
NamespaceBinding(String prefix, String uri, NamespaceBinding next)
Method Summary
static NamespaceBindingcommonAncestor(NamespaceBinding ns1, NamespaceBinding ns2)
intcount(NamespaceBinding fencePost)
Return the number of bindings before the fencePost.
NamespaceBindinggetNext()
StringgetPrefix()
Namespace prefix.
StringgetUri()
Namespace uri.
static NamespaceBindingmaybeAdd(String prefix, String uri, NamespaceBinding bindings)
Append a new NamespaceBinding if not redundant.
static NamespaceBindingnconc(NamespaceBinding list1, NamespaceBinding list2)
Chain the first list in front of the second list.
voidreadExternal(ObjectInput in)
Stringresolve(String prefix)
Resolve a prefix.
Stringresolve(String prefix, NamespaceBinding fencePost)
Resolve a prefix, in the initial part of this list.
NamespaceBindingreversePrefix(NamespaceBinding fencePost)
Reverse the chain, until a fencePost.
voidsetNext(NamespaceBinding next)
voidsetPrefix(String prefix)
voidsetUri(String uri)
StringtoString()
Return a String showing just a single namespace binding.
StringtoStringAll()
Return a String showing the full namespace binding list.
voidwriteExternal(ObjectOutput out)

Field Detail

predefinedXML

public static final NamespaceBinding predefinedXML

XML_NAMESPACE

public static final String XML_NAMESPACE

Constructor Detail

NamespaceBinding

public NamespaceBinding(String prefix, String uri, NamespaceBinding next)

Method Detail

commonAncestor

public static NamespaceBinding commonAncestor(NamespaceBinding ns1, NamespaceBinding ns2)

count

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

getNext

public final NamespaceBinding getNext()

getPrefix

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

getUri

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

maybeAdd

public static NamespaceBinding maybeAdd(String prefix, String uri, NamespaceBinding bindings)
Append a new NamespaceBinding if not redundant.

nconc

public static final NamespaceBinding nconc(NamespaceBinding list1, NamespaceBinding list2)
Chain the first list in front of the second list. (The name {@code nconc} comes from Common Lisp.)

readExternal

public void readExternal(ObjectInput in)

resolve

public String resolve(String prefix)
Resolve a prefix.

Parameters: prefix an interned namespace prefix to search for.

Returns: a uri or null if not bound

resolve

public String resolve(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

reversePrefix

public NamespaceBinding reversePrefix(NamespaceBinding fencePost)
Reverse the chain, until a fencePost.

setNext

public final void setNext(NamespaceBinding next)

setPrefix

public final void setPrefix(String prefix)

setUri

public final void setUri(String uri)

toString

public String toString()
Return a String showing just a single namespace binding.

toStringAll

public String toStringAll()
Return a String showing the full namespace binding list.

writeExternal

public void writeExternal(ObjectOutput out)