#!/usr/bin/perl

#Format d\'entree : un texte étiqueté et lemmatisé par TreeTagger
#Format de Sortie : le même texte au format xml


# Usage
$ChaineUsage="Usage : cordial2xml.pl <Fichier>\n";
if (@ARGV!=1) {
 die $ChaineUsage;
}

&ouvre;
&entete;
&traitement;
&fin;
&ferme;


# Récupération des arguments 
sub ouvre {
    $FichierEntree=$ARGV[0];
    open(Entree,$FichierEntree);
    $FichierSortie="TT_$ARGV[0]";
    open(Sortie,">$FichierSortie");
}

# Entête de document XML
sub entete {
    print Sortie "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
    print Sortie "<discours>\n";    
}

# Traitement
sub traitement {
    while ($Ligne = <Entree>) {
	# Remplacement de & par <![CDATA[&]]> 
        $Ligne=~s/\&/<![CDATA[\&]]>/g;
        $Ligne=~s/<unknown>/unknow/g;
	    $Ligne=~s/([^\t]*)\t([^\t]*)\t(.*)/<e>\n <st>$1<\/st>\n<lm>$3<\/lm>\n <tp>$2<\/tp>\n <\/e>/;	
	    print Sortie $Ligne;
    }    
}

# Fin de fichier
sub fin {
    print Sortie "</discours>\n";
}

# Fermeture des tampons
sub ferme {
    close(Entree);
    close(Sortie);
}
