DOMNamedNodeMap Class Referenceabstract

`DOMNamedNodeMap`s are used to represent collections of nodes that can be accessed by name. More...

`#include <xercesc/dom/DOMNamedNodeMap.hpp>`

## Public Member Functions

Destructor
virtual | ~DOMNamedNodeMap ()
| Destructor.
Functions introduced in DOM Level 1
virtual DOMNode * | setNamedItem (DOMNode *arg)=0
| Adds a node using its `nodeName` attribute.
virtual DOMNode * | item (XMLSize_t index) const =0
| Returns the `index`th item in the map.
virtual DOMNode * | getNamedItem (const XMLCh *name) const =0
| Retrieves a node specified by name.
virtual XMLSize_t | getLength () const =0
| The number of nodes in the map.
virtual DOMNode * | removeNamedItem (const XMLCh *name)=0
| Removes a node specified by name.
Functions introduced in DOM Level 2
virtual DOMNode * | getNamedItemNS (const XMLCh *namespaceURI, const XMLCh *localName) const =0
| Retrieves a node specified by local name and namespace URI.
virtual DOMNode * | setNamedItemNS (DOMNode *arg)=0
| Adds a node using its `namespaceURI` and `localName`.
virtual DOMNode * | removeNamedItemNS (const XMLCh *namespaceURI, const XMLCh *localName)=0
| Removes a node specified by local name and namespace URI.

## Protected Member Functions

Hidden constructors
| DOMNamedNodeMap ()

## Detailed Description

`DOMNamedNodeMap`s are used to represent collections of nodes that can be accessed by name.

Note that `DOMNamedNodeMap` does not inherit from `DOMNodeList`; `DOMNamedNodeMap`s are not maintained in any particular order. Nodes contained in a `DOMNamedNodeMap` may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents, and does not imply that the DOM specifies an order to these Nodes.

Since
  DOM Level 1

## Constructor & Destructor Documentation

## DOMNamedNodeMap()

DOMNamedNodeMap::DOMNamedNodeMap | ( |  | ) |

protected

## ~DOMNamedNodeMap()

virtual DOMNamedNodeMap::~DOMNamedNodeMap | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## getLength()

virtual XMLSize_t DOMNamedNodeMap::getLength | ( |  | ) | const

pure virtual

The number of nodes in the map.

The range of valid child node indices is 0 to `length-1` inclusive.

Since
  DOM Level 1

## getNamedItem()

virtual DOMNode * DOMNamedNodeMap::getNamedItem | ( | const XMLCh * | name | ) | const

pure virtual

Retrieves a node specified by name.

Parameters

  name | The `nodeName` of a node to retrieve.

Returns
  A `DOMNode` (of any type) with the specified `nodeName`, or `null` if it does not identify any node in the map.

Since
  DOM Level 1

## getNamedItemNS()

virtual DOMNode * DOMNamedNodeMap::getNamedItemNS | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | localName ) const

pure virtual

Retrieves a node specified by local name and namespace URI.

Parameters

  namespaceURI | The namespace URI of the node to retrieve.
  localName | The local name of the node to retrieve.

Returns
  A `DOMNode` (of any type) with the specified local name and namespace URI, or `null` if they do not identify any node in the map.

Since
  DOM Level 2

## item()

virtual DOMNode * DOMNamedNodeMap::item | ( | XMLSize_t | index | ) | const

pure virtual

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`.

Parameters

  index | Index into the map.

Returns
  The node at the `index`th position in the `DOMNamedNodeMap`, or `null` if that is not a valid index.

Since
  DOM Level 1

## removeNamedItem()

virtual DOMNode * DOMNamedNodeMap::removeNamedItem | ( | const XMLCh * | name | ) |

pure virtual

Removes a node specified by name.

If the removed node is an `DOMAttr` with a default value it is immediately replaced.

Parameters

  name | The `nodeName` of a node to remove.

Returns
  The node removed from the map if a node with such a name exists.

Exceptions

  DOMException | NOT_FOUND_ERR: Raised if there is no node named `name` in the map. NO_MODIFICATION_ALLOWED_ERR: Raised if this `DOMNamedNodeMap` is readonly.

Since
  DOM Level 1

## removeNamedItemNS()

virtual DOMNode * DOMNamedNodeMap::removeNamedItemNS | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | localName )

pure virtual

Removes a node specified by local name and namespace URI.

Parameters

  namespaceURI | The namespace URI of the node to remove.
  localName | The local name of the node to remove. When this `DOMNamedNodeMap` contains the attributes attached to an element, as returned by the attributes attribute of the `DOMNode` interface, if the removed attribute is known to have a default value, an attribute immediately appears containing the default value as well as the corresponding namespace URI, local name, and prefix.

Returns
  The node removed from the map if a node with such a local name and namespace URI exists.

Exceptions

  DOMException | NOT_FOUND_ERR: Raised if there is no node named `name` in the map. NO_MODIFICATION_ALLOWED_ERR: Raised if this `DOMNamedNodeMap` is readonly.

Since
  DOM Level 2

## setNamedItem()

virtual DOMNode * DOMNamedNodeMap::setNamedItem | ( | DOMNode * | arg | ) |

pure virtual

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.

Parameters

  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.

Returns
  If the new `DOMNode` replaces an existing node the replaced `DOMNode` is returned, otherwise `null` is returned.

Exceptions

  DOMException

  WRONG_DOCUMENT_ERR: Raised if `arg` was created from a different document than the one that created the `DOMNamedNodeMap`.
  NO_MODIFICATION_ALLOWED_ERR: Raised if this `DOMNamedNodeMap` is readonly.
  INUSE_ATTRIBUTE_ERR: Raised if `arg` is an `DOMAttr` that is already an attribute of another `DOMElement` object. The DOM user must explicitly clone `DOMAttr` nodes to re-use them in other elements.

Since
  DOM Level 1

## setNamedItemNS()

virtual DOMNode * DOMNamedNodeMap::setNamedItemNS | ( | DOMNode * | arg | ) |

pure virtual

Adds a node using its `namespaceURI` and `localName`.

Parameters

  arg | A node to store in a named node map. The node will later be accessible using the value of the `namespaceURI` and `localName` attribute of the node. If a node with those namespace URI and local name is already present in the map, it is replaced by the new one.

Returns
  If the new `DOMNode` replaces an existing node the replaced `DOMNode` is returned, otherwise `null` is returned.

Exceptions

  DOMException

  WRONG_DOCUMENT_ERR: Raised if `arg` was created from a different document than the one that created the `DOMNamedNodeMap`.
  NO_MODIFICATION_ALLOWED_ERR: Raised if this `DOMNamedNodeMap` is readonly.
  INUSE_ATTRIBUTE_ERR: Raised if `arg` is an `DOMAttr` that is already an attribute of another `DOMElement` object. The DOM user must explicitly clone `DOMAttr` nodes to re-use them in other elements.

Since
  DOM Level 2

The documentation for this class was generated from the following file:

- DOMNamedNodeMap.hpp