class Poco::XML::AttrMap

Overview

#include <AttrMap.h>

class AttrMap: public Poco::XML::NamedNodeMap
{
public:
    // methods

    virtual
    Node*
    getNamedItem(const XMLString& name) const;

    virtual
    Node*
    setNamedItem(Node* arg);

    virtual
    Node*
    removeNamedItem(const XMLString& name);

    virtual
    Node*
    item(unsigned long index) const;

    virtual
    unsigned long
    length() const;

    virtual
    Node*
    getNamedItemNS(
        const XMLString& namespaceURI,
        const XMLString& localName
        ) const;

    virtual
    Node*
    setNamedItemNS(Node* arg);

    virtual
    Node*
    removeNamedItemNS(
        const XMLString& namespaceURI,
        const XMLString& localName
        );

    virtual
    void
    autoRelease();

protected:
    // construction

    AttrMap(Element* pElement);
};

Inherited Members

public:
    // methods

    void
    duplicate() const;

    void
    release() const;

    virtual
    void
    autoRelease() = 0;

    virtual
    Node*
    getNamedItem(const XMLString& name) const = 0;

    virtual
    Node*
    setNamedItem(Node* arg) = 0;

    virtual
    Node*
    removeNamedItem(const XMLString& name) = 0;

    virtual
    Node*
    item(unsigned long index) const = 0;

    virtual
    unsigned long
    length() const = 0;

    virtual
    Node*
    getNamedItemNS(
        const XMLString& namespaceURI,
        const XMLString& localName
        ) const = 0;

    virtual
    Node*
    setNamedItemNS(Node* arg) = 0;

    virtual
    Node*
    removeNamedItemNS(
        const XMLString& namespaceURI,
        const XMLString& localName
        ) = 0;

Detailed Documentation

Methods

virtual
Node*
getNamedItem(const XMLString& name) const

Retrieves a node specified by name.

virtual
Node*
setNamedItem(Node* arg)

Adds a node using its nodeName attribute.

If a node with that name is already present in this map, it is replaced by the new one. 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.

virtual
Node*
removeNamedItem(const XMLString& name)

Removes a node specified by name.

When this map contains the attributes attached to an element, if the removed attribute is known to have a default value, an attribute immediately appears containing the default value.

virtual
Node*
item(unsigned long index) const

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.

virtual
unsigned long
length() const

Returns the number of nodes in the map.

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

virtual
Node*
getNamedItemNS(
    const XMLString& namespaceURI,
    const XMLString& localName
    ) const

Retrieves a node specified by name.

virtual
Node*
setNamedItemNS(Node* arg)

Adds a node using its nodeName attribute.

If a node with that namespace URI and that local name is already present in this map, it is replaced by the new one.

virtual
Node*
removeNamedItemNS(
    const XMLString& namespaceURI,
    const XMLString& localName
    )

Removes a node specified by name.

virtual
void
autoRelease()

Adds the object to an appropriate AutoReleasePool, which is usually the AutoReleasePool managed by the Document to which this object belongs.