org.apache.velocity.anakia
Class AnakiaElement
Element
org.apache.velocity.anakia.AnakiaElement
public class AnakiaElement
extends Element
A JDOM
Element
that is tailored for Anakia needs. It has
selectNodes(String)
method as well as a
toString()
that
outputs the XML serialized form of the element. This way it acts in much the
same way as a single-element
NodeList
would.
$Id: AnakiaElement.java,v 1.3.4.1 2004/03/03 23:22:03 geirm Exp $
AnakiaElement(String name) -
This will create an
AnakiaElement in no
Namespace .
|
AnakiaElement(String name, Namespace namespace) -
This will create a new
AnakiaElement
with the supplied (local) name, and define
the Namespace to be used.
|
AnakiaElement(String name, String uri) -
This will create a new
AnakiaElement with
the supplied (local) name, and specifies the URI
of the Namespace the Element
should be in, resulting it being unprefixed (in the default
namespace).
|
AnakiaElement(String name, String prefix, String uri) -
This will create a new
AnakiaElement with
the supplied (local) name, and specifies the prefix and URI
of the Namespace the Element
should be in.
|
List | getAttributes() -
This returns the complete set of attributes for this element, as a
NodeList of Attribute objects in no particular
order, or an empty list if there are none.
|
List | getChildren() -
This returns a
NodeList of all the child elements
nested directly (one level deep) within this element, as
Element objects.
|
List | getChildren(String name) -
This returns a
NodeList of all the child elements
nested directly (one level deep) within this element with the given
local name and belonging to no namespace, returned as
Element objects.
|
List | getChildren(String name, Namespace ns) -
This returns a
NodeList of all the child elements
nested directly (one level deep) within this element with the given
local name and belonging to the given Namespace, returned as
Element objects.
|
List | getContent() -
This returns the full content of the element as a NodeList which
may contain objects of type
String , Element ,
Comment , ProcessingInstruction ,
CDATA , and EntityRef .
|
NodeList | selectNodes(String xpathExpression) - Applies an XPath expression to this element and returns the resulting
node list.
|
String | toString() - Returns the XML serialized form of this element, as produced by the default
XMLOutputter .
|
DEFAULT_OUTPUTTER
private static final XMLOutputter DEFAULT_OUTPUTTER
AnakiaElement
public AnakiaElement(String name)
This will create an AnakiaElement
in no
Namespace
.
name
- String
name of element.
AnakiaElement
public AnakiaElement(String name,
Namespace namespace)
This will create a new AnakiaElement
with the supplied (local) name, and define
the Namespace
to be used.
If the provided namespace is null, the element will have
no namespace.
name
- String
name of element.
AnakiaElement
public AnakiaElement(String name,
String uri)
This will create a new AnakiaElement
with
the supplied (local) name, and specifies the URI
of the Namespace
the Element
should be in, resulting it being unprefixed (in the default
namespace).
name
- String
name of element.uri
- String
URI for Namespace
element
should be in.
AnakiaElement
public AnakiaElement(String name,
String prefix,
String uri)
This will create a new AnakiaElement
with
the supplied (local) name, and specifies the prefix and URI
of the Namespace
the Element
should be in.
name
- String
name of element.uri
- String
URI for Namespace
element
should be in.
getAttributes
public List getAttributes()
This returns the complete set of attributes for this element, as a
NodeList
of Attribute
objects in no particular
order, or an empty list if there are none.
The returned list is "live" and changes to it affect the
element's actual attributes.
- attributes for the element
getChildren
public List getChildren()
This returns a
NodeList
of all the child elements
nested directly (one level deep) within this element, as
Element
objects. If this target element has no nested
elements, an empty List is returned. The returned list is "live"
in document order and changes to it affect the element's actual
contents.
This performs no recursion, so elements nested two levels
deep would have to be obtained with:
Iterator itr = currentElement.getChildren().iterator();
while (itr.hasNext()) {
Element oneLevelDeep = (Element)nestedElements.next();
List twoLevelsDeep = oneLevelDeep.getChildren();
// Do something with these children
}
- list of child
Element
objects for this element
getChildren
public List getChildren(String name)
This returns a
NodeList
of all the child elements
nested directly (one level deep) within this element with the given
local name and belonging to no namespace, returned as
Element
objects. If this target element has no nested
elements with the given name outside a namespace, an empty List
is returned. The returned list is "live" in document order
and changes to it affect the element's actual contents.
Please see the notes for
getChildren
for a code example.
name
- local name for the children to match
- all matching child elements
getChildren
public List getChildren(String name,
Namespace ns)
This returns a
NodeList
of all the child elements
nested directly (one level deep) within this element with the given
local name and belonging to the given Namespace, returned as
Element
objects. If this target element has no nested
elements with the given name in the given Namespace, an empty List
is returned. The returned list is "live" in document order
and changes to it affect the element's actual contents.
Please see the notes for
getChildren
for a code example.
name
- local name for the children to matchns
- Namespace
to search within
- all matching child elements
getContent
public List getContent()
This returns the full content of the element as a NodeList which
may contain objects of type String
, Element
,
Comment
, ProcessingInstruction
,
CDATA
, and EntityRef
.
The List returned is "live" in document order and modifications
to it affect the element's actual contents. Whitespace content is
returned in its entirety.
- a
List
containing the mixed content of the
element: may contain String
,
Element
, Comment
,
ProcessingInstruction
,
CDATA
, and
EntityRef
objects.
selectNodes
public NodeList selectNodes(String xpathExpression)
Applies an XPath expression to this element and returns the resulting
node list. In order for this method to work, your application must have
access to
werken.xpath library
classes. The implementation does cache the parsed format of XPath
expressions in a weak hash map, keyed by the string representation of
the XPath expression. As the string object passed as the argument is
usually kept in the parsed template, this ensures that each XPath
expression is parsed only once during the lifetime of the template that
first invoked it.
xpathExpression
- the XPath expression you wish to apply
- a NodeList representing the nodes that are the result of
application of the XPath to the current element. It can be empty.
toString
public String toString()
Returns the XML serialized form of this element, as produced by the default
XMLOutputter
.
Copyright B) 2002 Apache Software Foundation. All Rights Reserved.