Eléments de modèle croisé

From Apertium
Jump to navigation Jump to search

In English

Article principal : Modèle croisé

L'élément cross-model[edit]

L'élément cross-model est un ensemble d'éléments d'action croisées (cross-action).

<!DOCTYPE cross-model SYSTEM "crossmodel.dtd">
<cross-model>
  <cross-action id="schéma-1" a="auteur">
  ...
  </cross-action>
  <cross-action id="schéma-2" a="auteur">
  ...
  </cross-action>
  ...
  <cross-action id="schéma-n" a="auteur">
  ...
  </cross-action>
</cross-model>

L'élément cross-action[edit]

Chaque action croisée est constituée d'une paire (pattern,action-set).

<cross-action id="schéma-1" a="auteur">
  <description>Action croisée 1</description>
  <pattern>
    ...
  </pattern>
  <action-set>
    <action>
      ...
    </action>
    ...
    <action>
      ...
    </action>
  </action-set>
</cross-action>

L'élément pattern[edit]

L'élément pattern définit "à quoi ressemblent" les éléments candidats susceptibles d'être croisés.

<pattern>
  <!-- Elément dans le dictionnaire bilingue AB-->
  <e>
    <p>
      <l>$lemmaA...</l>
      <r>$lemmaB...</r>

  </e>
  <!-- Elément dans le dictionnaire bilingue BC-->
  <e r="RL">
    <p>
      <l>$lemmaB...</l>
      <r>$lemmaC...</r>

  </e>
</pattern>

L'élément action-set[edit]

L'élément action-set est une liste d'actions à réaliser quand une paire d'éléments candidats correspond au schéma.

<action-set>
  <action>
    <e>
      <p>
        <l>$lemmaA...</l>
        <r>$lemmaC...</r>

    </e>
  </action>
  <action>
  ...
  </action>
</action-set>

Valeurs pour l'élément <s>[edit]

Littéraux[edit]

<e>
  <p>
    <r>$lemmaA</l>
    <r>$lemmaB</r>

</e>

Utiliser les littéraux (comme dans ) pour trouver exactement cet élément.

Variables[edit]

Il y a deux types de variables:

  • balise <v n="..."/>: un élément <s>. Par exemple, <v n="cat"/> peut se référer à <s n="adj"/>. La valeur "adj" sera stockée dans la variable "cat".
  • balise <t n="..."/>: est utilisé pour indiquer une séquence de <s>. Dans ce cas, <t n="tail"/>, peut se référer à la séquence d'éléments . La séquence "n.m.sg" sera stockée dans la variable "tail".

Exemple:

<e>
  <p>
    <l>$lemmaA<v n="cat"/><t n="tailA"/></l>
    <r>$lemmaB<v n="cat"/><t/></r>

</e>

Si vous n'utilisez pas la valeur de <v...> ou <t...>, ne définissez aucun attribut n, c'est à dire :

  • <v/>: 1 élément .
  • <t/>: 0, 1 ou plusieurs éléments .

Exemple:

<e>
  <p>
    <l>$lemmaA<v/></l>
    <r>$lemmaB<t/></r>

</e>

Dans l'exemple ci-dessus, <v/> peut être aussi bien , , etc, mais la valeur n'est pas stockée dans une variable parce qu'elle n'est pas utilisée à un autre endroit de l'action croisée.