4 # perl -w -MXML::Parser -MData::Dumper -e '$p=new XML::Parser(Style => 'Tree');
5 # $tree=$p->parsestring("<foo><head>Hello</head></foo>");print Dumper($tree);'
10 my $entity; # Current entity name
11 my %entity; # Hash of lists
12 my $list; # Reference to List of entries
13 my $entry; # Reference to Each read entry
14 my $sort = ''; # Sort-criteria
24 if (/<entity=\"(.*)\"\s+sort=\"(.*)\">/) {
28 } elsif (/<entity=\"(.*)\">/) {
31 } elsif (/<\/entity>/) {
34 foreach $elem (@$list) {
36 if (length ($elm{$sort}) > 0) {
37 $tmp{$elm{$sort}} = $elem;
39 $tmp{"x"x100} = $elem;
43 foreach $elem (sort keys %tmp) {
44 push (@$list, $tmp{$elem});
47 $entity{$entity} = $list;
50 } elsif (/<\/entry>/) {
51 # $list[$#list+1] = \%entry;
52 push (@$list, $entry);
53 } elsif (/^\s*(\S+):\s*(.*)$/) {
61 # Zum Lesen & verarbeiten:
63 # %data = parse_xmlfile ("search.xml");
65 # foreach $i (keys %data) {
69 # <alternativ> %entry = %{$slist[$i]};
70 # foreach $k (@list) {
72 # foreach $j (keys %entry) {
73 # printf " %s: %s\n", $j, $entry{$j};