Class Namespace
- Object
-
- nu.xom.Node
-
- nu.xom.Namespace
-
public final class Namespace extends Node
Represents a namespace in scope. It is used by XOM's XPath implementation for the namespace axis. However, it is not really part of the XOM data model. Namespace objects are only created as needed when evaluating XPath. While a namespace node has a parent element (which may be null), that element does not know about these namespace nodes and cannot remove them. (This is an inconsistency in the XPath data model, and is shared with attributes which also have parents but are not children.)
- Version:
- 1.1b3
- Author:
- Elliotte Rusty Harold
-
-
Field Summary
Fields Modifier and Type Field Description static String
XML_NAMESPACE
Namespace URI specified forxml
prefix
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Node
copy()
Returns a copy of this namespace which has the same prefix and URI, but no parent.void
detach()
Removes this namespace node from its parent.Node
getChild(int position)
ThrowsIndexOutOfBoundsException
because namespaces do not have children.int
getChildCount()
Returns 0 because namespaces do not have children.String
getPrefix()
Returns the namespace prefix, or the empty string if this node is the default namespace.String
getValue()
Returns the namespace URI.String
toString()
Returns a string form of theNamespace
suitable for debugging and diagnosis.String
toXML()
Returns a string containing the actual XML form of the namespace declaration represented by this object.-
Methods inherited from class nu.xom.Node
equals, getBaseURI, getDocument, getParent, hashCode, query, query
-
-
-
-
Field Detail
-
XML_NAMESPACE
public static final String XML_NAMESPACE
Namespace URI specified forxml
prefix- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Namespace
public Namespace(String prefix, String URI, Element parent)
Create a new namespace node.
- Parameters:
prefix
- the prefix for the namespace; may be the empty string or a non-colonized nameURI
- the namespace URIparent
- the element that possesses this namespace node- Throws:
MalformedURIException
- ifURI
is not an RFC 3986 URI referenceIllegalNameException
- if- The prefix is
xmlns
. - The prefix is not the empty string, and the URI is null or the empty string.
- The prefix is
NamespaceConflictException
- if- The prefix is the empty string, and the URI is null or the empty string.
- The prefix is
xml
, and the URI is nothttp://www.w3.org/XML/1998/namespace
. - The prefix is not
xml
, and the URI ishttp://www.w3.org/XML/1998/namespace
.
-
-
Method Detail
-
getPrefix
public String getPrefix()
Returns the namespace prefix, or the empty string if this node is the default namespace.
- Returns:
- the namespace prefix
-
getValue
public String getValue()
Returns the namespace URI.
-
getChild
public Node getChild(int position)
Throws
IndexOutOfBoundsException
because namespaces do not have children.
-
getChildCount
public int getChildCount()
Returns 0 because namespaces do not have children.
- Specified by:
getChildCount
in classNode
- Returns:
- zero
-
copy
public Node copy()
Returns a copy of this namespace which has the same prefix and URI, but no parent.
-
detach
public void detach()
Removes this namespace node from its parent.
- Overrides:
detach
in classNode
- See Also:
Node.detach()
-
toXML
public String toXML()
Returns a string containing the actual XML form of the namespace declaration represented by this object. For example,
xmlns:pre="http://www.example.org/"
.
-
toString
public String toString()
Returns a string form of the
Namespace
suitable for debugging and diagnosis. It deliberately does not return an actual XML namespace declaration.- Overrides:
toString
in classObject
- Returns:
- a string representation of this object
-
-