X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2FWebPAC%2FOutput%2FSWISH.pm;h=ab8fc227e7ff70016d1ef847d4f49980ae07f74e;hb=2d0215c49221dba3f39227a88d2016add24b2428;hp=60ce87f6aa41029df62e49093f96a52885c9b50a;hpb=034a87b93fddb9f7973f9e8124a76e0d600445ee;p=webpac2 diff --git a/lib/WebPAC/Output/SWISH.pm b/lib/WebPAC/Output/SWISH.pm index 60ce87f..ab8fc22 100644 --- a/lib/WebPAC/Output/SWISH.pm +++ b/lib/WebPAC/Output/SWISH.pm @@ -16,6 +16,7 @@ __PACKAGE__->mk_accessors(qw( use File::Path qw/make_path/; use Data::Dump qw/dump/; use YAML; +use JSON; =head1 NAME @@ -89,6 +90,8 @@ IndexFile $dir/$database # Croatian ISO-8859-2 characters to unaccented equivalents #TranslateCharacters ¹©ðÐèÈæƾ® ssddcccczz +# store data into index +PropertyNames data # disable output ParserWarnLevel 0 @@ -146,6 +149,8 @@ sub add { my $xml = qq{}; + my $data; + foreach my $tag (@tags) { my $r = ref $ds->{$tag}->{$type}; @@ -159,8 +164,14 @@ sub add { $xml .= qq{<$tag>}; $self->{stats}->{attr}->{$tag}++; + + $data->{$tag} = $vals; } + # serialize to JSON instead of YAML because we will loose whitespace + $data = to_json($data); + $xml .= qq{}; + $xml .= qq{\n}; my $len = length($xml); @@ -170,6 +181,8 @@ sub add { print $fh "Path-Name: $uri\nContent-Length: $len\nDocument-Type: XML\n\n$xml" or die "can't add $uri: $@\n$xml"; + warn "$xml\n"; + return 1; }