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'
};
$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'
};
$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 -
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 40:
Deleting unknown formatting code N<>