---
name: "XML::Grove::IDs"
section: "3pm"
platform: "linux"
package: "libxml-grove-perl"
version: "0.46alpha-14"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/XML::Grove::IDs"
---

# XML::Grove::IDs(3pm)

return an index of \`id' attributes in a grove

## NAME

XML::Grove::IDs - return an index of \`id' attributes in a grove

## SYNOPSIS

```
 use XML::Grove::IDs;
 # Using get_ids method on XML::Grove::Document or XML::Grove::Element:
 $hash = $grove_object->get_ids($attr_name, $elements);
 # Using an XML::Grove::IDs instance:
 $indexer = XML::Grove::IDs->new($attr_name, $elements);
 my $hash = {};
 $grove_object->accept($indexer, $hash);
```

## DESCRIPTION

`"XML::Grove::IDs"` returns a hash index of all nodes in a grove with an \`id' attribute.  The keys of the hash are the ID attribute value and the value at that key is the element.  \``$attr_name`' and \``$elements`' are optional.  The attribute name defaults to \``"id"`' if \``$attr_name`' is not supplied.  Indexing can be restricted to only certain elements, by name, by providing a hash containing NAME=\>1 values.

## AUTHOR

Ken MacLeod, ken@bitsko.slc.ut.us

## SEE ALSO

[**perl**(1)](/perl/1.md), **XML::Grove**(3), **Data::Grove::Visitor**(3)

Extensible Markup Language (XML) \<http://www.w3c.org/XML\>
