#!/usr/bin/perl

use strict;
use warnings;

use Carp qw(confess);
use Data::Dumper;
use XML::LibXML;

use Ernad::Erimp;
use Ernad::Common;
use Ernad::Layer;
use Ernad::Sort;
use Krichel::File;

binmode(STDOUT,":utf8");

my $tmp_dump_file='/tmp/u.dump';

my $impna=$ARGV[0] // '';
if(not $impna) {
  print "I need an impna.\n";
  exit;
}

if(not $Ernad::Layers::lff->{$impna}) {
  print "Enlarge me. I have no layering function for $impna.\n";
  exit;
}

my $in_file=$ARGV[1] // '';
if(not $in_file) {
  print "I need a in_file\n";
  exit;
}
if(not -f $in_file) {
  print "I don't see your in_file $in_file.\n";
  exit;
}

my $out_file=$ARGV[2] // '';
if(not -W $out_file) {
  $out_file='';
}
my $doc=&Krichel::File::load($in_file);

$doc=&Ernad::Layer::layer($doc,$impna);
if($out_file) {
  $doc->toFile($out_file);
}
else {
  print $doc->toString();
}


exit;
