#!/usr/bin/perl

my $inputfile = $ARGV[0];

print "Now splitting file $inputfile\n";
open(IN, "<$inputfile") or die "Error opening file $inputfile";
$dummy = <IN>;  # <?xml version="1.0" encoding="ISO-8859-1"?>
$dummy = <IN>;  #
$dummy = <IN>;  # <rdf:RDF .../>
$where = <IN>;  # <h:Object rdf:about="...">
chomp($where);
$where =~ s/^[^"]*"([^"]*)">$/$1/;
while(($line1 = <IN>) && not ($line1 =~ /<\/h:Object>/)) {
  $line2 = <IN>; # <h:Occurrence>
  $line3 = <IN>; # <h:position>value</h:position>
  $line4 = <IN>; # <h:occurrence>value</h:occurrence>
  $line5 = <IN>; # </h:Occurrence>
  $line6 = <IN>; # </refObj>
  $uri = $line4;
  chomp($uri);
  $uri =~ s/^[ \t]*<h:occurrence>([^<]*)<\/h:occurrence>$/$1/;
  $who = $uri;
  $who =~ s/^cic:/backward/;
  $who =~ s/#xpointer\(1\/([^\/]*)\/([^\/]*)\)/,$1,$2/;
  $who =~ s/#xpointer\(1\/([^\/]*)\)/,$1/;
  $line4 =~ s/\Q$uri\E/$where/;
   
  open(OUT, ">>$who") or die "Error opening file $who";
  print OUT "\t\t<h:backPointer>\n";
  print OUT $line2;
  print OUT $line3;
  print OUT $line4;
  print OUT $line5;
  print OUT "\t\t</h:backPointer>\n";
  close(OUT);
}
close(IN);
