Fisierele de limbaj si analiza mesajelor

Functionarea serverului java eBibliophil se bazeaza in principal in analiza mesajelor in baza unor fisiere de reguli. Acestea dicteaza forma mesajelor, continutul lor (ca valori), respectiv actiunile care trebuie realizatela finalul analizei mesajului, daca analiza acestuia a fost incheiata cu succes.

Pentru a putea realiza acest lucru intr-un mod oarecum dinamic, mesajul este impartit in structuri si substructuri care permit transmisia de date relativ complexe, aranjate in structuri arborescente. Aceste structuri le vom numi mai departe cuvinte.

Astfel fiecare mesaj este per total un cuvant cu o structura bine definita si care este compus din alte cuvinte. In functie de definitie, fiecare cuvant poate fi mai departe descompus in alte cuvinte. Mai mult, cuvintele din care este compus un cuvant pot fi selectate in functie de anumite valori continute in mesaj.

Forma de organizare de cel mai inalt rang este dupa cum spuneam cuvantulCuvintele sunt organizate inntr-un fisier un urmatoarea forma:

<?xml version="1.0" encoding="UTF-8"?>
<xmllanguage>
  <info name="nume_limbaj" version="1.40.18" date="12.01.2016" />
    <components>
     <cuvant_1/>
     <cuvant_2/>
     ...
     <cuvant_n/>
   </components>
</xmllanguage>

Ca regula de compunere a unui fisier de limbaj, fiecare astfel de fisier trebuie sa aiba un cuvant cu acelasi nume ca si numele fisierului(fara extensie). Acest cuvant reprezinta punctul de intrare in fisierul cu definitii de cuvinte. In speta fisierul FlexClient.xml contine nodul FlexClient care defineste cuvantul cu acelasi nume si care dicteaza mai departe parcursul analizei mesajului/cuvantului care trebuie analizat conform acestui fisier.

Fiecare definitie de cuvant are 3 parti:

  • header – informatii despre acel cuvant
  • nodes – nodurile/elementele acelui cuvant
  • actions – (optional) actiuni care trebuie desfasurate la validarea formatului mesajului.

Pentru mai multe informatii despre aceste definitii vezi Structura unui cuvant in limbaj.

Pentru mai multe informatii despre actiuni vezi Actiuni in limbaj.

Sidebar