Am câţiva prieteni şi foşti
colegi care, prin natura activităţii lor, au o îndelungată
experienţă a contactelor informatice cu ceea numim generic
"administraţia". Prin intermediul lor am fost şi eu ţinut la
curent cu evoluţiile din domeniu, cu anecdotica de rigoare şi --
inevitabil -- cu exasperările lor legate de tot felul de aberaţii care
se petrec la frontiera dintre spaţiul public şi cel al
funcţionarilor statului.
În ultima vreme, sursa enervărilor a fost
legată de nişte rapoarte pentru un registru de evidenţă a
salariaţilor iar brambureala a atras chiar şi atenţia presei de
mare tiraj. Însă dincolo de chestiunile organizatorice, problema a cuprins
şi nişte aspecte tehnice iar nedumerirea cea mai mare a stârnit-o noul
format de raportare, care pentru mulţi era o noutate: XML. Adevărul
este că, după atâţia ani în care am pledat pentru standardizarea
schimbului de date în formate bazate pe XML, am receptat vestea aproape ca pe o
victorie personală. Am încercat să explic în dreapta şi stânga
că e posibil ca lucrurile să nu meargă bine "din prima" dar, în
esenţă, este calea cea bună. Cum oamenii erau prea iritaţi
ca să-mi asculte argumentele, această rubrică îmi pare
potrivită pentru o scurtă explicaţie.
XML (eXtensible Markup Language) se
trage dintr-un alt limbaj de marcare, numit SGML, inventat de un colectiv de la
IBM condus de Charles Goldfarb. Iniţial, scopul acestuia era să rezolve
o problemă locală. IBM era şi este o companie foarte mare
şi neomogenă. Practic, fiecare departament folosea sisteme diferite,
cu sisteme de operare diferite şi chiar cu codificări diverse, astfel
că transferul de date era dificil. Iniţial Goldfarb a fost
însărcinat să găsească o modalitate generală de
transfer a documentelor juridice, însă rezultatul a fost mult mai
puternic, fiind valabil pentru orice structuri de date. De fapt, SGML este un
meta-limbaj, adică un mecanism prin care se pot crea limbaje de marcare
specifice oricărei structuri (de pildă HTML este un limbaj de marcare
descris în SGML) iar XML nu este decât un fel de SGML adaptat pentru internet.
Pentru a defini un limbaj particular e nevoie
de o "gramatică" ce specifică în esenţă elementele şi
modul în care acestea se înlănţuie, formând o ierarhie. De
pildă, o piesă de teatru este o succesiune de acte, precedate
eventual de un prolog şi urmate opţional de un epilog. Fiecare act
este o succesiune de scene, fiecare formate dintr-o succesiune de replici.
Desigur, mai intervin indicaţii regizorale, care pot fi plasate în diverse
puncte din structură. Această descriere -- desigur, mult mai
precisă -- constituie gramatica şi se exprimă formal într-o
structură numită DTD (Document Type Description) sau, mai
modern, într-o "schemă XML" (care are avantajul că este ea
însăşi exprimată în XML). Avantajele sunt enorme şi provin
din standardizare şi independenţa de structurile de stocare --
adică exact ingredientele care stau la baza unui schimb civilizat de date
între diverse organizaţii şi administraţie.
Am fost solicitat să arunc o privire
peste specificaţiile publicate pe situl www.inspectiamuncii.ro
şi am început să înţeleg iritarea prietenilor mei. În primul
rând, "specificaţia" este lipsită de o descriere formală (este
doar un exemplu comentat), astfel încât gramatica poate fi doar dedusă. În
al doilea rând, este în mod evident o structură tabelară
transpusă destul de stângaci într-una ierarhică (de pildă, se
păstrează referinţele prin chei primare şi chei
străine -- în răspăr cu "spiritul" XML). Mi-ar fi plăcut ca
situl să ofere şi un validator online, astfel ca măcar erorile
formale să poate fi depistate înainte de a trimite rapoartele (noutate:
chiar şi prin internet!). În fine, cred că măcar un manual în
limba română despre ce-i XML şi ce vrea el ar fi fost extrem de util.
Acestea fiind condiţiile, lucrurile s-au
petrecut cam aşa: prietenul meu a trimis datele şi le-a primit înapoi
pe motiv că sunt greşite. După insistenţe, se obţine
şi o descriere irelevantă a erorii iar în cele din urmă se
constată că o adresă nu avea... număr! Desigur, gramatica
ar fi lămurit chestiunea de la bun început iar validatorul ar fi depistat
eroarea... Informaticienii de la ministerul muncii şi-au tras singuri un
glonţ în picior atunci când nu le-au furnizat.
Oricum, insist să cred că
introducerea formatului XML este un pas înainte şi nu pot decât să
sper că exemplul va fi urmat. Ceva mai bine...