Difference between revisions of "Unification of metadix and parametrized dictionaries"

From Apertium
Jump to navigation Jump to search
(I'm still writing up)
Line 31: Line 31:
 
</pre>
 
</pre>
   
* having a way to mark a block of entries as belonging to a certain variant. To that end, a wrapping element <code>use</code> (name in discussion; currently named <code>aversion</code> [sic]) would contain a set of entries and this will be equivalent to having all these entries marked with a certain value of the <code>vnt</code> attribute so that writing
+
* having a way to mark a block of entries as belonging to a certain variant. To that end, a wrapping element <code>e-group</code> (name in discussion; currently named <code>aversion</code> [sic]) would contain a set of entries and this will be equivalent to having all these entries marked with a certain value of the <code>vnt</code> attribute so that writing
   
 
<pre>
 
<pre>
<use vnt="xx">
+
<e-group vnt="xx">
 
<e> ... </e>
 
<e> ... </e>
 
<e> ... </e>
 
<e> ... </e>
</use>
+
</e-group>
 
</pre>
 
</pre>
   
Line 47: Line 47:
 
</pre>
 
</pre>
   
This may be seen as a way to ''factor out'' a common value of <code>vnt</code>. Perhaps one could extend the use of <code>use</code> to factor out other attributes such as <code>r</code>.
+
This may be seen as a way to ''factor out'' a common value of <code>vnt</code>. Perhaps one could extend the use of <code>e-group</code> to factor out other attributes such as <code>r</code>. A generalization of this would be a <code>wrap</code> element having three attributes: <code>element</code> (the name of the element affected), <code>attribute</code> (the name of the attribute) and <code>value</code> (the value of the attribute), so that <code><wrap element="e" attribute="vnt" value="xx"></code> would be equivalent to <code><e-group vnt="xx"></code>, but perhaps this is too general.
   
 
This could be extended to other linguistic data files such as structural transfer files (.t1x, .t2x, etc.)
 
This could be extended to other linguistic data files such as structural transfer files (.t1x, .t2x, etc.)
   
 
==Parametrized paradigms==
 
==Parametrized paradigms==
  +
  +
There are two kinds of parametrized paradigms...
   
 
(to be written)
 
(to be written)

Revision as of 15:07, 30 October 2007

Different language-pair packages use different strategies to generate .dix dictionaries (monodix) and (bidix) from XML files using features not supported by the .dix format. The objectives of these new dix-like formats are:

  • being able to use parametrized paradigms (so that a general paradigm may be defined and used with small parametrized variations), as discussed in the metadix page; paradigms are of two kinds, word form paradigms and symbol paradigms (word form paradigms are observed in the oc-ca pair and grammatical symbol paradigms are observed in the en-ca dictionaries).
  • being able to generate different versions of a translator (for instance, for two different varieties of a language, such as Brazilian and European Portuguese) whose names could be ideally tied to mode names

There is currently a debate on a unification of these formats into a single metadix format which in turn could also be used to support other desirable features such as

  • having metadata (headers) in dictionaries which defines whether the dictionary is a bilingual or monolingual dictionary and the language pairs and modes it supports (perhaps this could be added to the basic .dix format

Here is a proposal (open to discussion) on the first two issues.

Variants

  • endowing the e element with a vnt (variant) attribute, so that the corresponding metadix entry will go to the generated .dix only if that variant is selected (entries without a vnt will go to the .dix unconditionally); this will replace the use of the v attribute as found in the es-ca dictionaries to treat the Valencian dialect or in the es-pt dictionaries to distinguish European and Brazilian Portuguese. Here is an example:
       <e vnt="cat">
         <p>
           <l>haguéssim</l>
           <r>haver<s n="vbhaver"/><s n="pis"/><s n="p1"/><s n="pl"/><j/></r>
         </p>
       </e>

       <e vnt="val">
         <p>
           <l>haguérem</l>
           <r>haver<s n="vbhaver"/><s n="pis"/><s n="p1"/><s n="pl"/><j/></r>
         </p>
       </e>  
  • having a way to mark a block of entries as belonging to a certain variant. To that end, a wrapping element e-group (name in discussion; currently named aversion [sic]) would contain a set of entries and this will be equivalent to having all these entries marked with a certain value of the vnt attribute so that writing
<e-group vnt="xx">
<e> ... </e>
<e> ... </e>
</e-group>

would be equivalent to having

<e vnt="xx"> ... </e>
<e vnt="xx"> ... </e>

This may be seen as a way to factor out a common value of vnt. Perhaps one could extend the use of e-group to factor out other attributes such as r. A generalization of this would be a wrap element having three attributes: element (the name of the element affected), attribute (the name of the attribute) and value (the value of the attribute), so that <wrap element="e" attribute="vnt" value="xx"> would be equivalent to <e-group vnt="xx">, but perhaps this is too general.

This could be extended to other linguistic data files such as structural transfer files (.t1x, .t2x, etc.)

Parametrized paradigms

There are two kinds of parametrized paradigms...

(to be written)