1. Description du code
Déclaration des variables
| $rep="$ARGV[0] | Variable qui prend le premier argument de la ligne de commande |
| my $DUMPFULL1 | Sortie en txt |
| my $DUMPFULL2 | Sortie en xml |
| my %PREDIC=() | Supprime le doublon |
| $1,$2…$n | Variable qui récupère le contenu précédemment extrait via une expression régulière (.+?) |
| | 1 correspondant à l’expression régulière inclus dans la première parenthèse. |
Traitement
| $description= shift(@_) | Lecture de la description et stockage dans la variable $description |
| chomp($description) | Suppression du caractère de fin de ligne dans la variable $description |
Affichage des résultats
| print XMLOUT | Affichage dans un fichier XML |
2. Méthode de nettoyage
Le script de BàO 1 signale chacun des caractères spéciaux de HTML et des caractères ASCII, pour qu’il puisse le remplacer en cas de présence dans le contenu du texte.
Exemple :
description=~ s/&|&/&/g; : pour les caractères spéciaux ‘&’ ou ‘& ‘ sera remplacé par &
Pour nettoyer l’ensemble des caractères spéciaux, nous avons récupéré dans un premier temps le tableau des caractères spéciaux en ligne et nous l’avons converti via un script pour pouvoir l’intégrer dans notre script final.
Téléchargez la liste de caractère spéciaux | |
Le script suivant permet de convertir les caractères spéciaux précédemment récupéré.
Téléchargez le script | |
Cette partie du script permet d’obtenir un fichier xml bien formé. | |
-Cas particulier
Dans un premier temps, nous avons procéder à un test de nettoyage via le script suivant | |
Cependant, ce nettoyage simplifié s’est avéré insuffisant. En visualisant les résultats, nous avons constaté que le caractère spécial que l’on souhaite remplacé n’a pas fonctionné.
Par exemple, il affiche ' au lieu de l’apostrophe. |
Cet exemple nous indique que ce problème sera récurrent pour tous les caractères spéciaux commençant par &.
Il faut alors indiquer la conversion souhaité du caractère spécial & comme suit :
| |
Résultat :
| |
Après vérification, nous avons constaté que l’affichage de certains caractères n’ont pas été converti dont notamment le caractère & :
| |
Nous avons vérifié dans le fichier XML et nous avons trouvé que « &» correspondait à «&» ce qui nous indique que l’on doit procéder à une nouvelle conversion soit :
& => Conversion = > & (résultat)
Pour remédier à de problème, nous avons ajouté deux fois la même instruction en début de script pour obtenir une conversion finale correcte.
Malgré que le résultat final soit correct, cette solution n’est pas satisfaisante dans sa syntaxe.
Une boucle aurait pu être plus appropriée pour régler ce type de problème.
Téléchargement
Script