Acest script exportă baza de date a DEX online sau porţiuni ale ei. Dacă doriţi să scrieţi un client care să transfere baza de date şi să o folosească off-line, comunicaţi cu acest script pentru a sincroniza periodic baza de date.

Generalităţi

Date exportate

Scriptul exportă separat diverse tipuri de date. Pentru a transfera toate datele, trebuie să invocaţi de mai multe ori acest script, folosind parametrul GET export=... pentru a controla tipul de date. Nu este obligatoriu să transferaţi toate tipurile de date la fiecare sincronizare a clientului, dar am făcut această separare pentru uşurinţa implementării.

Surse

DEX online îşi preia definiţiile din diferite "surse", care de obicei se referă la un dicţionar tipărit, identificat prin titlu, autor, editură şi an de apariţie. Lista de surse este întotdeauna exportată complet. Ea se modifică rar şi vă recomandăm să o resincronizaţi numai dacă observaţi că aţi primit definiţii care folosesc surse necunoscute.

Parametri acceptaţi: Formatul este:
<Sources>
  <NumResults>număr</NumResults>
  <Source>
    <Id>număr</Id>
    <ShortName>şir</ShortName>
    <Name>şir</Name>
    <Author>şir</Author>
    <Publisher>şir</Publisher>
    <Year>şir</Year>
  </Source>
  ....
</Sources>
De exemplu:
<Sources>
  <NumResults>22</NumResults>
  <Source>
    <Id>1</Id>
    <ShortName>DEX '98</ShortName>
    <Name>Dicţionarul explicativ al limbii române</Name>
    <Author>Academia Română, Institutul de Lingvistică "Iorgu Iordan"</Author>
    <Publisher>Editura Univers Enciclopedic</Publisher>
    <Year>1998</Year>
  </Source>
  ....
</Sources>

Definiţii

Parametri acceptaţi: Formatul este:
<Definitions>
  <NumResults>număr</NumResults>
  <Definition>                         ;; Exemplu de definiţie modificată
    <Id>număr</Id>
    <Timestamp>număr</Timestamp>
    <UserName>şir</UserName>
    <SourceId>număr</SourceId>
    <Text>şir</Text>
    <LexemId>număr</LexemId>
    <LexemId>număr</LexemId>
    <LexemId>număr</LexemId>
    ...
  </Definition>
  <Definition>                         ;; Exemplu de definiţie ştearsă
    <Id>număr</Id>
    <Timestamp>număr</Timestamp>
    <Deleted/>
  </Definition>
  ....
</Definitions>
De exemplu:
<Definitions>
  <NumResults>2</NumResults>
  <Definition> 
    <Id>9432</Id>
    <Timestamp>1189656131</Timestamp>
    <UserName>ana_zecheru</UserName>
    <SourceId>1</SourceId>
    <Text>@FÁTA MORGÁNA@ s.f. Fenomen optic frecvent în regiunile calde, datorită căruia imaginile
obiectelor aflate la (sau dincolo de) orizont apar ca şi cum s-ar reflecta într-o apă. ** Apariţie
înşelătoare, iluzie trecătoare. - Cuv. it.</Text>
    <LexemId>35579</LexemId>
    <LexemId>90887</LexemId>
    <LexemId>90889</LexemId>
  </Definition>
  <Definition>
    <Id>293845</Id>
    <Timestamp>1189680395</Timestamp>
    <Deleted/>
  </Definition>
</Definitions>
Precizări:

Flexiuni

Această categorie exportă tipurile distincte de flexiuni folosite de DEX online, care reprezintă un subset al flexiunilor limbii române (de exemplu, momentan DEX online nu foloseşte vocativul substantivelor). Şi această categorie este exportată complet, întrucât se modifică foarte rar (vă recomandăm să o transferaţi numai atunci când, la sincronizarea lexemelor, întâlniţi o valoare nouă pentru parametrul InflId).

Parametri acceptaţi: Formatul este:
<Inflections>
  <NumResults>număr</NumResults>
  <Inflection>
    <Id>număr</Id>
    <Description>şir</Description>
  </Inflection>
  <Inflection>
    ...
  </Inflection>
</Inflections>
De exemplu:
<Inflections>
  <NumResults>86</NumResults>
  <Inflection>
    <Id>1</Id>
    <Description>Substantiv masculin, Nominativ-Acuzativ, singular, nearticulat</Description>
  </Inflection>
  ...
  <Inflection>
    <Id>58</Id>
    <Description>Verb, Indicativ, prezent, persoana a II-a, plural</Description>
  </Inflection>
  ...
</Inflections>

Lexeme

"Lexemul" este un termen lingvistic pentru cuvânt. Un lexem este caracterizat printr-un identificator numeric unic, un nume, o descriere opţională (folosită pentru diferenţierea omonimelor) şi o listă de forme flexionare. Parametri acceptaţi: Formatul este:
<Lexems>
  <NumResults>număr</NumResults>
  <Lexem>
    <Id>număr</Id>
    <Timestamp>număr</Timestamp>
    <Form>şir</Form>                    ;; Forma poate include un apostrof înainte de vocala accentuată
    <Description>şir</Description>      ;; Opţional
    <Inflection>                        ;; Formele flexionare
      <InflId>număr</InflId>
      <Form>şir</Form>
    </Inflection>
    <Inflection>
      <InflId>număr</InflId>
      <Form>şir</Form>
    </Inflection>
    ...
  </Lexem>
  ....
</Lexems>
De exemplu:
<Lexems>
  <NumResults>105</NumResults>
  <Lexem>
    <Id>57483</Id>
    <Timestamp>1189683958</Timestamp>
    <Form>cop'il</Form>
    <Description>persoană</Description>
    <Inflection>
      <InflId>1</InflId>
      <Form>cop'il</Form>
    </Inflection>
    ...
    <Inflection>
      <InflId>3</InflId>
      <Form>cop'ii</Form>
    </Inflection>
    ...
    <Inflection>
      <InflId>5</InflId>
      <Form>cop'ilul</Form>
    </Inflection>
    ...
    <Inflection>
      <InflId>8</InflId>
      <Form>cop'iilor</Form>
    </Inflection>
  </Lexem>
  <Lexem>
    <Id>57484</Id>
    <Timestamp>1189683961</Timestamp>
    <Form>cop'il</Form>
    <Description>lăstar</Description>
    <Inflection>
      <InflId>1</InflId>
      <Form>cop'il</Form>
    </Inflection>
    ...
    <Inflection>
      <InflId>3</InflId>
      <Form>cop'ili</Form>
    </Inflection>
    ...
    <Inflection>
      <InflId>5</InflId>
      <Form>cop'ilul</Form>
    </Inflection>
    ...
    <Inflection>
      <InflId>8</InflId>
      <Form>cop'ililor</Form>
    </Inflection>
  </Lexem>
  ....
</Lexems>
Precizări: