## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.5

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# XalanNamedNodeMap Class Reference

`#include <XalanNamedNodeMap.hpp>`

Inheritance diagram for XalanNamedNodeMap:

[legend]
List of all members.

## Public Methods

- XalanNamedNodeMap ()
- virtual ~XalanNamedNodeMap ()

Set functions.

- virtual XalanNode* setNamedItem (XalanNode *arg)=0
    Adds a node using its `nodeName` attribute. More...
- virtual XalanNode* item (unsigned int index) const=0
    Returns the `index`th item in the map. More...

Get functions.

- virtual XalanNode* getNamedItem (const XalanDOMString &name) const=0
    Retrieves a node specified by name. More...
- virtual unsigned int getLength () const=0
    The number of nodes in the map. More...

Functions to change the node collection.

- virtual XalanNode* removeNamedItem (const XalanDOMString &name)=0
    Removes a node specified by name. More...

Functions introduced in DOM Level 2.

- virtual XalanNode* getNamedItemNS (const XalanDOMString &namespaceURI, const XalanDOMString &localName) const=0
    Retrieves a node specified by local name and namespace URI. More...
- virtual XalanNode* setNamedItemNS (XalanNode *arg)=0
    Adds a node using its `namespaceURI` and `localName`. More...
- virtual XalanNode* removeNamedItemNS (const XalanDOMString &namespaceURI, const XalanDOMString &localName)=0
    Removes a node specified by local name and namespace URI. More...

## Protected Methods

- XalanNamedNodeMap (const XalanNamedNodeMap &theSource)
- XalanNamedNodeMap& operator= (const XalanNamedNodeMap &theSource)
- bool operator== (const XalanNamedNodeMap &theRHS) const

## Constructor & Destructor Documentation

XalanNamedNodeMap::XalanNamedNodeMap ( | )

XalanNamedNodeMap::~XalanNamedNodeMap ( | )`[virtual]`

XalanNamedNodeMap::XalanNamedNodeMap ( | const XalanNamedNodeMap & theSource )`[protected]`

## Member Function Documentation

unsigned int XalanNamedNodeMap::getLength ( | ) const`[pure virtual]`

| The number of nodes in the map. The range of valid child node indices is 0 to `length-1` inclusive. Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

XalanNode * XalanNamedNodeMap::getNamedItem ( | const XalanDOMString & name ) const`[pure virtual]`

  | Retrieves a node specified by name. Parameters:
  name | The `nodeName` of a node to retrieve.
Returns: A `Node` (of any type) with the specified `nodeName`, or `null` if it does not identify any node in the map. Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

XalanNode * XalanNamedNodeMap::getNamedItemNS ( | const XalanDOMString & namespaceURI,
| const XalanDOMString & 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 `Node` (of any type) with the specified local name and namespace URI, or `null` if they do not identify any node in the map. Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

XalanNode * XalanNamedNodeMap::item ( | unsigned int 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 `NamedNodeMap`, or `null` if that is not a valid index. Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

XalanNamedNodeMap & XalanNamedNodeMap::operator= ( | const XalanNamedNodeMap & theSource )`[protected]`

bool XalanNamedNodeMap::operator== ( | const XalanNamedNodeMap & theRHS ) const`[protected]`

XalanNode * XalanNamedNodeMap::removeNamedItem ( | const XalanDOMString & name )`[pure virtual]`

  | Removes a node specified by name. If the removed node is an `Attr` with a default value it is immediately replaced. Parameters:
  name | The `nodeName` of a node to remove.
  Returns: The node removed from the map or `null` if no 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 `NamedNodeMap` is readonly.
Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

XalanNode * XalanNamedNodeMap::removeNamedItemNS ( | const XalanDOMString & namespaceURI,
| const XalanDOMString & 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 `NamedNodeMap` contains the attributes attached to an element, as returned by the attributes attribute of the `Node` 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 `NamedNodeMap` is readonly.
Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

XalanNode * XalanNamedNodeMap::setNamedItem ( | XalanNode * 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 `Node` replaces an existing node the replaced `Node` 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 `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.
Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

XalanNode * XalanNamedNodeMap::setNamedItemNS ( | XalanNode * 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 `Node` replaces an existing node the replaced `Node` 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 `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.
Reimplemented in XalanEmptyNamedNodeMap, XercesNamedNodeMapBridge, and XercesNamedNodeMapWrapper.

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

- XalanNamedNodeMap.hpp

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.5 Copyright © 2000, 2001, 2002, 2003 The Apache Software Foundation. All Rights Reserved.