Modèle croisé
Jump to navigation
Jump to search
Article principal : Crossdics : Génération d'une paire de langue à partir de 2 autres
Contents
Modèle croisé
Définition des actions de croisement
Les actions de croisement sont nécessaires pour croiser certaines paires de langues correctement.
Ces schémas et actions sont décrits en XML, comme suit :
<!DOCTYPE cross-model SYSTEM "crossmodel.dtd"> <cross-model> <cross-action id="schéma-1" a="auteur"> <pattern>...</pattern> <action-set>...</action-set> </cross-action> ... <cross-action id="schéma-n" a="auteur"> <pattern>...</pattern> <action-set>...</action-set> </cross-action> </cross-model>
Cliquez sur chaque élément du schéma ci-dessus ou lisez plus au sujet des éléments de modèle croisé.
Exemple de schéma action
Schéma
<cross-action id="schéma-1" a="ebenimeli"> <description>Pattern 1</description> <pattern> <e> <p> <l>$lemmaA<v n="X"/></l> <r>$lemmaB<v n="Y"/></r>
</e> <e r="RL"> <p> <l>$lemmaB</l> <r>$lemmaC</r>
</e> </pattern> <action-set> <action> <e> <p> <l>$lemmaA<v n="X"/></l> <r>$lemmaC<v n="Y"/></r>
</e> </action> </action-set> </cross-action>
Exemple sur la manière dont cette action de croisement devrait être appliquée.
Action de croisement par défaut
Par défaut, l'outil apertium-crossdics
utilise un modèle croisé simple (schemas/cross-model.xml
) définissant seulement une règle de schéma action par défaut.
<cross-model> <cross-action id="default" a="ebenimeli"> <description>Default pattern</description> <pattern> <e> <p> <l>$lemmaA<v n="cat"/><t n="tailA"/></l> <r>$lemmaB<v n="cat"/><t/></r>
</e> <e> <p> <l>$lemmaB<v n="cat"/><t/></l> <r>$lemmaC<v n="cat"/><t n="tailC"/></r>
</e> </pattern> <action-set> <action> <e> <p> <l>$lemmaA<v n="cat"/><t n="tailA"/></l> <r>$lemmaC<v n="cat"/><t n="tailC"/></r>
</e> </action> </action-set> </cross-action> </cross-model>
Dans l'exemple ci-dessus :
<v n="cat"/>
est une variable qui peut mémoriser seulement un élément (par exemple,
). Dans cet exemple on utilise une variable parce qu'on a besoin d'utiliser la valeur dans l'élémentaction
. En plus de ça, on force la valeur du premier élément
pour qu'il soit le même. Il y a un autre symbole (<v/>
) qui peut être utilisé si on ne veut pas utiliser la valeur plus tard.- la balise
<t/>
est une séquence de 0, un ou plusieurs éléments
. <t n="tailA"/>
et<t n="tailC"/>
sont aussi des séquences de 0, un ou plusieurs éléments
, mais, dans ce cas particulier, on stocke la valeur dans une variable parce qu'on a besoin de l'utiliser plus tard (dans l'élémentaction
).
Ces balises spéciales sont expliquées dans la section Cross Model Elements
Voir aussi
Liens externes
- Exemple complet de modèle croisé.
- DTD de modèle croisé