
org.w3c.dom.NamedNodeMap Maven / Gradle / Ivy
// Copyright (c) 1998 by W3C
//
// DOM is a trademark of W3C
// The DOM level 1 specification, from which this
// source is derived, is copyright by W3C.
// See: http://www.w3.org/TR/REC-DOM-Level-1/
//
package org.w3c.dom;
/**
Objects implementing the NamedNodeMap
interface are
used to represent collections of nodes that can be accessed by name. Note
that NamedNodeMap
does not inherit from
NodeList
; NamedNodeMap
s are not maintained in
any particular order. Objects contained in an object implementing
NamedNodeMap
may also be accessed by an ordinal index, but
this is simply to allow convenient enumeration of the contents of a
NamedNodeMap
, and does not imply that the DOM specifies an
order to these Nodes.
Property Summary
length
getLength
The number of nodes in the map. The range of valid child node
indices is 0 to length-1
inclusive.
*/
public interface NamedNodeMap
{
/**
Retrieves a node specified by name.
@return A Node
(of any type) with the specified
name, or null
if the specified name did not
identify any node in the map.
@param name
Name of a node to retrieve.
*/
Node getNamedItem (String name);
/**
Adds a node using its nodeName
attribute.
As the nodeName
attribute is used to
derive the name which the node must be stored under, multiple
nodes of certain types (those that have a "special" string
value) cannot be stored as the names would clash. This is seen
as preferable to allowing nodes to be aliased.
@return If the new Node
replaces an existing node with the
same name the previously existing Node
is returned,
otherwise null
is returned.
@param arg
A node to store in a named node map. The node will
later be accessible using the value of the
nodeName
attribute of the node. If a node with that
name is already present in the map, it is replaced
by the new one.
@exception WRONG_DOCUMENT_ERR: Raised if arg
was created from a different
document than the one that created the NamedNodeMap
.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
NamedNodeMap
is readonly.
INUSE_ATTRIBUTE_ERR: Raised if arg
is an Attr
that is already an attribute of another Element
object. The
DOM user must explicitly clone Attr
nodes to re-use them in other elements.
*/
Node setNamedItem (Node arg) throws DOMException;
/**
Removes a node specified by name. If the removed
node is an Attr
with a default value it is immediately
replaced.
@return The node removed from the map or null
if no node with such a name exists.
@param name
The name of a node to remove.
@exception NOT_FOUND_ERR: Raised if there is no node named
name
in the map.
*/
Node removeNamedItem (String name) throws DOMException;
/**
Returns the index
th item in the map.
If index
is greater than or equal to the number
of nodes in the map, this returns null
.
@return The node at the index
th position in the
NamedNodeMap
, or null
if that is not a
valid index.
@param index
Index into the map.
*/
Node item (int index);
/**
* Returns the value of the length
property.
*/
int getLength ();
}