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é[edit]
Définition des actions de croisement[edit]
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[edit]
Schéma[edit]
<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[edit]
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[edit]
Liens externes[edit]
- Exemple complet de modèle croisé.
- DTD de modèle croisé