Good explanation and I did some more digging and found that $_[2] is an array of the prior tags in the "stack".
So, if I do the following I can determine which item I am in and handle appropriately:
'item' => sub {
my $in_item = $_[2][$#{$_[2]}];
if ($in_item eq "summary") {
$hash{summary} = $_[1]->{value};
}
if ($in_item eq "detail1") {
$hash{detail1} = $_[1]->{value};
}
if ($in_item eq "detail2") {
$hash{detail2} = $_[1]->{value};
}
}
This gets me what I want perfectly! Obviously my actual XMl is much more complicated than this contrived example (and I actually have an array of items in detail2 (sometimes) so this works quite well to determine what 'value' belongs to.
Thank you for the time to answer and steer me in my research to get where I need to go.
|