org.exolab.castor.types
Class AnyNode
java.lang.Object
org.exolab.castor.types.AnyNode
- java.io.Serializable
public final class AnyNode
extends java.lang.Object
implements java.io.Serializable
A class used to represent an XML node.
This is an alternative to DOM which is too heavy for
our purpose (mainly handle XML Fragment when
is used in
an XML schema).
The model is based on XPath Node.
An AnyNode can be a:
- ELEMENT
- ATTRIBUTE
- NAMESPACE
- COMMENT
- TEXT
- PROCESSING INSTRUCTION
$Revision: 1.1.1.1 $ $Date: 2003/03/03 07:08:53 $static short | ATTRIBUTE - Representation for an attribute node.
|
static short | COMMENT - Representation for a comment node.
|
static short | ELEMENT - Representation for an element node.
|
static short | NAMESPACE - Representation for a Namespace node.
|
static short | PI - Representation for a processing instruction node.
|
static short | TEXT - Representation for a text node.
|
AnyNode() - Default constructor: creates an empty element node
|
AnyNode(short type, String localName, String prefix, String uri, String value) - Creates a node given all the necessary information:
type, localName, prefix, uri and value.
|
ATTRIBUTE
public static final short ATTRIBUTE
Representation for an attribute node.
COMMENT
public static final short COMMENT
Representation for a comment node.
ELEMENT
public static final short ELEMENT
Representation for an element node.
NAMESPACE
public static final short NAMESPACE
Representation for a Namespace node.
PI
public static final short PI
Representation for a processing instruction node.
TEXT
public static final short TEXT
Representation for a text node.
AnyNode
public AnyNode()
Default constructor: creates an empty element node
AnyNode
public AnyNode(short type,
String localName,
String prefix,
String uri,
String value)
Creates a node given all the necessary information:
type, localName, prefix, uri and value.
This constructor is not user-friendly and launched
RunTime exception is you try to instantiate non-valid node.
addAnyNode
public void addAnyNode(AnyNode node)
Adds an AnyNode to the current node
node
- the node to append
addAttribute
public void addAttribute(AnyNode node)
Adds an attribute to the current node.
node
- the attribute to add.
addChild
public void addChild(AnyNode node)
Adds a child AnyNode to this node.
A 'child' can be either an ELEMENT node, a COMMENT node,
a TEXT node or a PROCESSING INSTRUCTION.
If the current node already has a child then
the node to add will be append as a sibling.
Note: you cannot add a child to a TEXT node.
addNamespace
public void addNamespace(AnyNode node)
Appends an namespace to the current node.
node
- the attribute to add.
appendSibling
protected void appendSibling(AnyNode node)
Appends a sibling AnyNode to the current node.
The node to append will be added at the end of the
sibling branch.
getFirstAttribute
public AnyNode getFirstAttribute()
Returns the first attribute of the current ELEMENT node
or null.
The next attribute,if any,is the sibling of the returned node.
getFirstChild
public AnyNode getFirstChild()
Returns the first Child node of this node.
A 'child' can be either an ELEMENT node, a COMMENT node,
a TEXT node or a PROCESSING INSTRUCTION.
- the first child of this node
getFirstChildNode
protected AnyNode getFirstChildNode()
Returns the first child node in the tree.
- the first child node in the tree.
getFirstNamespace
public AnyNode getFirstNamespace()
Returns the first namespace of the current ELEMENT node
or null.
The next attribute if any is the sibling of the returned node.
getLocalName
public String getLocalName()
Returns the local name of the node.
Returns the local name of an element or attribute, the prefix of a namespace
node, the target of a processing instruction, or null for
all other node types.
- The local name of the node, or null if the node has
no name
getNamespacePrefix
public String getNamespacePrefix()
Returns the namespace prefix associated with the namespace URI of
this node.
Returns null if no prefix.
is defined for this namespace URI. Returns an empty string if the
default prefix is associated with this namespace URI.
- The namespace prefix, or null
getNamespaceURI
public String getNamespaceURI()
Returns the namespace URI of the node. Returns the namespace URI
of an element, attribute or namespace node, or null for
all other node types.
- The namespace URI of the node, or null if the node has
no namespace URI
getNextSibling
public AnyNode getNextSibling()
Returns the next sibling of the current node.
When the AnyNode is an ATTRIBUTE, it will return the next ATTRIBUTE node.
When the AnyNode is a NAMESPACE, it will return the next NAMESPACE node.
- the next sibling of the current node
getNodeType
public short getNodeType()
Returns the type of this node.
getStringValue
public String getStringValue()
Returns the string value of the node. The string value of a text
node or an attribute node is its text value. The string value of
an element or a root node is the concatenation of the string value
of all its child nodes. The string value of a namespace node is its
namespace URI. The string value of a processing instruction is the
instruction, and the string value of a comment is the comment text.
- The string value of the node
toString
public String toString()
Returns the String representation of this AnyNode
The String representation is a xml well-formed fragment corresponding
to the representation of this node.
Intalio Inc. (C) 1999-2003. All rights reserved http://www.intalio.com