#!/usr/bin/perl -w -s

use XML::DT;
use XML::TX;
##options
our ($correct);

my $filename = shift || die("Usage $0 file.xml\n");

use strict;

my $types={ translation => text("pt"),
            pos1        => sub{text($v{'xml:lang'} || "pt") },
#           pos         => "tpos",
            pos         => enumFromFile("POS"),
            orth        => text("en"),
            url         => "urlActive",
            url2        => "url",
          };

# enumFromFile("tpos","POS");

addType(
  urlActive =>
    { markit => sub{ $c = markAsErr($c) unless (LWP::Simple::head($c));
                     toxml()}, } );

if($correct){ fixit($filename,$types);}
else{        markit($filename,$types);}

enum("dia",[1..31]);

print ( isvalid( 39,"dia") ? "ok" : "ko");
print ( isvalid( 29,"dia") ? "ok" : "ko");

print ( isvalid( "cataaa",text("en")) ? "ok" : "ko");
print ( isvalid( "cat",text("en")) ? "ok" : "ko");


__END__
%handler=(
   '-begin' => sub{$n=0;},
   '...' => sub{ele2file($type,$n);"\cA".$n++."\cA"}
);

sub ele2file{ 
  my ($type,$n)=@_;
  print $file{$type} "\n\cA$n: $c\n"
} 

$file="_tm_";
for (@epr){
  open($file{$_},"$file.$_");
}

for 

sub extrai_f{
     $tab{$n}=$c;"\cA".$n++."\cA"
}

open(A,">tmpdic") or die;
print A dt($filename,%handler);
close A;

spell_table(\%tab);

sub load_table{
 my $tab;
 my $filename = shift;
 open(T,"$filename") or die;
 local $/;
 $/= "\n\cA";
 while(<T>){
  chomp;
  if(m{^(\d+):(.*)}s){$tab->{$1}=$2}
  else{}
 }
 close T;
 $tab;
}

sub save_table{
 my $tab=shift;
 my $filename = shift;
 open(T,">$filename") or die;

 for(keys %$tab){ print T "\n\cA$_: $tab->{$_}\n"}
 close T;
}

sub spell_table{
 my $t = shift;
 save_table($t,"/tmp/aux");
 system ("xterm -e 'jspell -d port /tmp/aux'");
}
