Jean-François Perrot, 28/03/2014
-
But
À partir d'un fichier issu de TXM (texte vietnamien obligeamment
prêté par Océane),
(dont la structure est vérifiée conforme à la grammaire corpTXM.rng
donnée ci-après)
donner le nombre de mots commençant par 'HIV
' dans chaque
phrase.
- Le document.
La grammaire : en format compact,
en format XML.
- Exécution
jfp$ perl esquisse.pl 2862-i.xml
Nombre de mots commençant par 'HIV' dans chaque phrase du document
2862-i.xml :
1 - 0 - 0 - 3 - 0 - 0 - 1 - 2 - 1 - 1 -
Terminé
jfp$
-
Procédé
- On enrichit d'abord le document XML en ajoutant au début de
chaque phrase
(balise
<s>
) une balise <nbHIV>
qui contient comme texte le nombre de balises <w>
dans la phrase dont le fils <txm:form>
a un contenu
qui commence par 'HIV
'.
Compte-tenu de l'indispensable préfixe de namespace, cette opération
est réalisée en XSLT par :
<nbHIV><xsl:value-of
select="count(tei:w[starts-with(txm:form,'HIV')])" /></nbHIV>
- Ensuite on applique au texte du document enrichi une
expression régulière Perl qui se charge d'extraire et d'imprimer le
résultat :
$texte =~ s/<nbHIV>(\d+)<\/nbHIV>/print("$1 -
")/eg;
-
Détails de la réalisation
- La feuille de style enrichissante :
- Le script Perl
Sur la mise en œuvre du backquote, les explications seront données en cours.