Provided by: libdata-stag-perl_0.13-1_all bug

NAME

         Data::Stag::HashDB - build indexes over Stag files or objects

SYNOPSIS

         # parsing a file into a hash
         my $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 hash
         my $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    -