NAME
Data::Stag::HashDB - build indexes over Stag files or objects
SYNOPSIS
# parsing a file into a hashmy $hdb = Data::Stag::HashDB->new;$hdb->unique_key("ss_details/social_security_no");$hdb->record_type("person");my $obj = {};$hdb->index_hash($obj);Data::Stag->parse(-file=>$fn, -handler=>$hdb);my $person = $obj->{'999-9999-9999'};print $person->xml;# indexing an existing stag tree into a hashmy $personset = Data::Stag->parse($fn);my $hdb = Data::Stag::HashDB->new;$hdb->unique_key("ss_details/social_security_no");$hdb->record_type("person");my $obj = {};$hdb->index_hash($obj);$personset->sax($hdb);my $person = $obj->{'999-9999-9999'};print $person->xml;
DESCRIPTION
Used for building indexes over Stag files or objects
You need to provide a record_type - this is the type of element that will be indexed
You need to provide a unique_key - this is a single value used to index the record_types
For example, if we have data in the stag structure below, and if ss_no is unique (we assume it is) then we can index all the people in the database using the code above
publicinfo:persondata:person:ss_details:social_security_no:name:address:
There is a subclass of this method callsed Data::Stag::StagDB, which makes the hash persistent
PUBLIC METHODS -
record_type
Usage -Returns -Args -
unique_key
Usage -Returns -Args -
index_hash
Usage -Returns -Args -