NAME

Data::Stag::StagDB - persistent storage and retrieval of stag nodes

SYNOPSIS

# parsing a file into a file based index
my $sdb = Data::Stag::StagDB->new;
$sdb->unique_key("ss_details/social_security_no");
$sdb->record_type("person");
$sdb->indexfile("./person_by_ss-idx");
Data::Stag->parse(-file=>$fn, -handler=>$sdb);
my $obj = $sdb->index_hash;
my $person = $obj->{'999-9999-9999'};
print $person->xml;

# indexing an existing stag tree into a file based index
my $personset = Data::Stag->parse($fn);
my $sdb = Data::Stag::StagDB->new;
$sdb->unique_key("ss_details/social_security_no");
$sdb->record_type("person");
$sdb->indexfile("./person_by_ss-idx");
$personset->sax($sdb);
my $obj = $sdb->index_hash;
my $person = $obj->{'999-9999-9999'};
print $person->xml;

DESCRIPTION

This module is an extension of Data::Stag::HashDB - you can use it in the same way.

It creates a simple file based database of stag nodes

This is useful if you want your data to persist; or if you want to use Data::Stag::HashDB but your data will not fit into memory

PUBLIC METHODS -

indexfile

Usage   -
Returns -
Args    -