marți, 21 ianuarie 2014

XML pentru începători

XML pentru începători

Este posibil să fi auzit de limbajul XML (Extensible Markup Language - limbaj extensibil de marcare) și multe motive pentru care organizația în care lucrați ar trebui să îl utilizeze. Dar ce este XML, mai exact? Acest articol explică elementele de bază ale XML , ce este și cum funcționează.
În acest articol

O trecere rapidă în revistă a marcării, a marcajelor și a etichetelor

Pentru a înțelege limbajul XML, este de folos să înțelegeți ideea de marcare a datelor. Timp de secole, oamenii au creat documente și de tot atâta timp ei au marcat aceste documente. De exemplu, profesorii au marcat întotdeauna lucrările elevilor. Aceștia le-au spus elevilor să mute paragrafe, să clarifice propoziții, să corecteze greșelile de ortografie și multe altele. Marcarea unui document constă în modul în care definim structura, semnificația și aspectul vizual al informațiilor din document. Dacă ați utilizat vreodată caracteristica Urmărire modificări din Microsoft Office Word, ați utilizat o formă computerizată de marcare.
În informatică, „marcarea" a evoluat spre „marcaj”. Acesta este procesul de utilizare a unor coduri numite etichete (numite și simboluri, balize sau marcatori) pentru a defini structura, aspectul vizual și  în cazul XML, semnificația acestor date.
Codul HTML al acestui articol este un exemplu bun de marcaj de computer pus la lucru. Dacă îl răsfoiți (în Microsoft Internet Explorer, faceți clic cu butonul din dreapta pe pagină, apoi pe Vizualizare sursă), veți vedea o combinație de text lizibil și de etichete HTML, cum ar fi <p> sau <h2>. Etichetele din documentele HTML și XML sunt ușor de recunoscut deoarece sunt înconjurate de paranteze unghiulare. În codul sursă al acestui articol, etichetele HTML îndeplinesc o serie de roluri, cum ar fi definirea începutului și sfârșitului fiecărui paragraf (<p> ... </p>) și marcarea locației fiecărei imagini.
Începutul paginii Începutul paginii

Ce face ca acesta să fie limbaj extensibil de marcare?

Documentele HTML și XML conțin date cuprinse între etichete, dar aici se termină asemănările între cele două limbaje. În HTML, etichetele definesc aspectul și stilul datelor,  liniile de titlu sunt aici, paragraful începe aici și tot așa. În XML etichetele definesc structura și semnificația datelor , ceea ce înseamnă aceste date.
Când descrieți structura și semnificația datelor, faceți posibilă reutilizarea acestor date în orice modalitate. De exemplu, dacă aveți un set de date comerciale și fiecare element din bloc este identificat cu claritate, se pot încărca doar elementele de care aveți nevoie într-un raport de vânzări și să încărcați celelalte elemente într-o bază de date de contabilitate. Punând altfel problema, se poate utiliza un sistem pentru a genera datele și a le marca cu etichete XML, procesând apoi aceste date în orice alt sistem, indiferent de platforma hardware sau de sistemul de operare. Această portabilitate a făcut din XML una dintre cele mai populare tehnologii pentru schimbul de date.
Pe măsură ce continuați, rețineți aceste aspecte:
  • Nu este posibilă utilizarea HTML în loc de XML. Totuși, datele XML se pot include între etichete HTML pentru a fi afișate într-o pagină Web.
  • HTML este limitat la un set predefinit de etichete utilizate de toți utilizatorii.
  • XML permite crearea oricărei etichete necesare pentru descrierea datelor și a structurii acestora. Pentru moment, să presupunem că este necesar să stocați și să partajați informații despre animale de casă. Creați următorul cod XML:

<?xml version="1.0"?>
<CAT>
  <NAME>Izzy</NAME>
  <BREED>Siamese</BREED>
  <AGE>6</AGE>
  <ALTERED>yes</ALTERED>
  <DECLAWED>no</DECLAWED>
  <LICENSE>Izz138bod</LICENSE>
  <OWNER>Colin Wilcox</OWNER>
</CAT>
Se poate vedea că etichetele XML dau posibilitatea să identificați exact ce tip de date consultați. De exemplu, știți că acestea sunt date referitoare la o pisică și aflați numele sau vârsta pisicii, printre altele. Abilitatea de a crea etichete care definesc aproape orice structură de date este ceea ce face ca XML să fie „extensibil”.
Dar nu confundați etichetele din acest exemplu de cod cu cele dintr-un fișier HTML. De exemplu, dacă această structură XML o lipiți într-un fișier HTML și vizualizați fișierul în browser, rezultatul va arăta cam așa:
Izzy Siamese 6 yes no Izz138bod Colin Wilcox
Browserul ignoră etichetele XML și afișează exclusiv datele.
Începutul paginii Începutul paginii

Câte ceva despre datele bine formate

Poate că ați auzit pe cineva din departamentul TI vorbind despre XML „corect formulat”. Un fișier XML bine formulat se conformează unui set de reguli foarte stricte ce guvernează limbajul XML. Dacă un fișier nu se conformează acestor reguli, XML nu mai funcționează. De exemplu, în eșantionul anterior de cod, fiecare etichetă de deschidere are o etichetă de închidere, de aceea exemplul se conformează regulilor de formulare corectă. Dacă eliminați o etichetă și încercați să deschideți respectivul fișier într-unul din programele Office, veți vedea un mesaj de eroare, iar programul va opri utilizarea fișierului.
Nu este necesar să știți regulile pentru crearea de cod XML corect formulat (acestea sunt ușor de înțeles), dar este bine să vă amintiți că datele XML se pot partaja între programe și sisteme numai dacă aceste date sunt corect formulate. Dacă nu este posibilă deschiderea unui fișier XML, sunt mari șanse ca fișierul să fie greșit formulat.
De asemenea, XML este independent de platformă, ceea ce înseamnă că orice program constituit pentru a utiliza XML poate citi și prelucra datele XML indiferent de hardware sau de sistemul de operare. De exemplu, cu etichetele XML corecte, aveți posibilitatea să utilizați un program pentru a deschide și lucra cu date de la un computer mainframe. În plus, indiferent cine a creat corpul datelor XML, aveți posibilitatea să lucrați cu aceleași date în câteva din programele Microsoft Office 2003 și Microsoft Office Professional 2007, inclusiv Microsoft Office Access 2007, Microsoft Office Word 2007, Microsoft Office InfoPath 2007 sau Microsoft Office Excel 2007. Datorită faptului că este atât de portabil, XML a devenit una dintre cele mai populare tehnologii pentru schimbul de date între bazele de date și desktopurile utilizatorilor.
XML utilizat de alte programe
În plus față de datele corect formulate, etichetate, sistemele XML utilizează de obicei două componente suplimentare: scheme și transformări. Secțiunile următoare explică modul în care funcționează aceste componente suplimentare.
Începutul paginii Începutul paginii

O trecere rapidă în revistă a schemelor

Nu vă lăsați intimidați de termenul „schemă”. O schemă este doar un fișier XML care conține regulile referitoare la ce se poate afla și ce nu se poate afla într-un fișier de date XML. Fișierele schemă utilizează de obicei extensia de nume de fișier .xsd, în timp ce fișierele de date XML utilizează extensia .xml.
Schemele permit programelor să valideze date. Acestea oferă un cadru pentru structurarea datelor, asigurându-se că au sens pentru creator și orice alt utilizator. De exemplu, dacă un utilizator introduce date nevalide, cum ar fi text într-un câmp de tip dată, programul poate avertiza utilizatorul să introducă date corecte. Cât timp datele dintr-un fișier XML se conformează regulilor dintr-o schemă dată, orice program care acceptă XML poate utiliza schema respectivă pentru a citi, interpreta și prelucra datele. De exemplu, după cum se vede în ilustrația următoare, Excel și Word pot valida datele <CAT> conform schemei CAT definite pentru pisici.
Schemele permit aplicațiilor să partajeze date XML.
Schemele pot deveni complexe și nu este scopul acestui articol să vă învețe cum se creează acestea. (În plus, probabil cei de la departamentul TI știu cum.) Cu toate acestea, este util să știți cum arată schemele. Schema următoare definește regulile pentru setul de etichete <CAT> ... </CAT>.

<xsd:element name="CAT">  
  <xsd:complexType>  
    <xsd:sequence>
      <xsd:element name="NAME" type="xsd:string"/>
      <xsd:element name="BREED" type="xsd:string"/>
      <xsd:element name="AGE" type="xsd:positiveInteger"/>
      <xsd:element name="ALTERED" type="xsd:boolean"/>
      <xsd:element name="DECLAWED" type="xsd:boolean"/>
      <xsd:element name="LICENSE" type="xsd:string"/>
      <xsd:element name="OWNER" type="xsd:string"/>        
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
Nu vă îngrijorați că nu înțelegeți tot ce apare în exemplu. Rețineți doar următoarele:
  • Elementele de pe linie din exemplul de schemă sunt numite declarații. Dacă ați avea nevoie de informații suplimentare despre un animal, cum ar fi culoarea sau marcajul, există șansa ca departamentul TI să adauge o declarație la schemă. Sistemul XML se poate modifica pe măsură ce necesitățile evoluează.
  • Declarațiile oferă un grad enorm de control asupra structurii de date. De exemplu, declarația <xsd:sequence> indică faptul că etichetele, cum ar fi <NAME> și <BREED>, trebuie să se dispună în ordinea în care sunt trecute mai sus. Declarațiile pot controla, de asemenea, tipurile de date pe care le pot introduce utilizatorii. De exemplu, schema de mai sus necesită un număr pozitiv pentru vârsta pisicii și o valoare logică (TRUE sau FALSE) pentru etichetele ALTERED și DECLAWED.
  • Când datele dintr-un fișier XML se conformează regulilor oferite de o schemă, se spune că acele date sunt valide. Procesul confruntării unui fișier de date XML cu o schemă este numit (sună logic) validare. Marele avantaj al schemelor este faptul că acestea pot împiedica existența datelor deteriorate. De asemenea, acestea facilitează identificarea datelor deteriorate, deoarece XML se oprește când întâlnește o problemă.
Începutul paginii Începutul paginii

O trecere rapidă în revistă a transformărilor

După cum am menționat anterior, XML pune la dispoziție și metode puternice de utilizare sau de reutilizare a datelor. Mecanismul de reutilizare a datelor se numește transformare în limbaj extensibil pentru foi de stil (Extensible Stylesheet Language - XSLT) sau, mai simplu, o transformare. Transformările sunt cele care fac într-adevăr interesant limbajul XML. De exemplu, după validarea unui fișier de date în raport cu o schemă, aveți posibilitatea să aplicați o transformare care face datele să funcționeze în Microsoft Office Word 2003 ca o broșură de marketing și să aplice altă transformare pentru a crea un raport de vânzări în Office Excel 2007.
Dvs. (sau departamentul TI) poate utiliza, de asemenea, transformările pentru a face schimb de date între sistemele back-end, cum sunt bazele de date. Pentru moment, să zicem că baza de date A stochează datele de vânzări într-o structură de tabel care funcționează bine pentru departamentul de vânzări. Baza de date B stochează datele din venituri și cheltuieli într-o structură de tabel adaptată pentru departamentul contabil. Baza de date B poate utiliza o transformare pentru a accepta date de la A și a pentru a scrie aceste date în tabelele corecte.
Combinația fișierului de date cu schema și cu transformare constituie un sistem XML elementar. Ilustrația de mai jos arată cum funcționează astfel de sisteme. Fișierul de date este validat în raport cu schema, apoi reprodus în orice mod printr-o transformare. În acest caz, transformarea distribuie datele unui tabel dintr-o pagină Web.
O structură de fișier XML de bază cu o schemă și o transformare
Exemplul de cod ce urmează arată unul dintre modurile de a scrie o transformare. El încarcă datele <CAT> într-un tabel dintr-o pagină Web. Și aici, scopul exemplului nu este să vă arate cum se scrie o transformare, ci să vă arate una dintre formele pe care le poate avea o transformare.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"> 
<TABLE>
  <TR>
    <TH>Name</TH>
    <TH>Breed</TH>
    <TH>Age</TH>
    <TH>Altered</TH>
    <TH>Declawed</TH>    
    <TH>License</TH>
    <TH>Owner</TH>
  </TR>
  <xsl:for-each select="CAT">
  <TR ALIGN="LEFT" VALIGN="TOP">
    <TD>
      <xsl:value-of select="NAME"/>
    </TD>
    <TD>
      <xsl:value-of select="BREED"/>
    </TD>
    <TD>
      <xsl:value-of select="AGE"/>
    </TD>
    <TD>
      <xsl:value-of select="ALTERED"/>
    </TD>
    <TD>
      <xsl:value-of select="DECLAWED"/>
    </TD>
    <TD>
      <xsl:value-of select="LICENSE"/>
    </TD>
    <TD>
      <xsl:value-of select="OWNER"/>
    </TD>
  </TR>
</xsl:for-each>
</TABLE>
Acest exemplu arată aspectul unui tip de transformare atunci când este codat, dar rețineți că aveți posibilitatea să descrieți exact ce doriți de la date în limba engleză. De exemplu, vă duceți la departamentul TI și spuneți că doriți să imprimați cifrele de vânzări pentru anumite regiuni din următorii doi ani, „și trebuie să arate așa”. Departamentul TI poate scrie apoi (sau poate modifica) o transformare astfel încât să facă acest lucru.
Ce face din toate acestea ceva chiar și mai convenabil este faptul că Microsoft și un număr din ce în ce mai mare de alte firme creează transformări pentru activități de orice fel. În viitor, sunt mari șanse să fie posibilă descărcarea unei transformări care vă îndeplinește toate necesitățile sau care se poate ajusta pentru a se conforma scopului urmărit. Aceasta înseamnă că XML va costa mai puțin în viitor.
Începutul paginii Începutul paginii

O privire asupra XML în Microsoft Office System

Ediția profesională de Microsoft Office 2003 și Ediția Office 2007 oferă suport intensiv pentru XML.
  • Office Excel 2007, Office Word 2007 și Office PowerPoint 2007 utilizează XML ca format de fișier implicit, modificare ce aduce câteva avantaje:
    • Dimensiune redusă a fișierelor. Noul format utilizează ZIP și alte tehnologii de compresie pentru a reduce dimensiunea de fișier cu până la 75 de procente mai puțin decât formatele binare utilizate în versiunile mai vechi de Office.
    • Recuperare mai simplă a informațiilor și securitate sporită. XML poate fi citit de un om, de aceea, dacă un fișier se deteriorează, poate fi deschis în Microsoft Notepad sau în alt editor de text pentru a recupera măcar parțial informațiile. De asemenea, noile fișiere sunt mai sigure deoarece nu pot să conțină cod Visual Basic for Applications (VBA). Dacă utilizați noul format pentru a crea șabloane, orice controale ActiveX și macrocomenzi VBA se află într-o secțiune separată a fișierului, mai sigură. În plus, aveți posibilitatea să utilizați instrumente cum ar fi Inspector document, pentru a elimina orice date personale. Pentru mai multe informații privind Inspector document, consultați articolul Eliminarea datelor ascunse și a informațiilor personale din documentele Office.
    • Portabilitate și flexibilitate. Deoarece XML stochează datele în format text și nu într-un format binar proprietar, clienții pot defini propriile scheme și pot utiliza datele în multe alte moduri, fără a trebui să plătească drepturi de utilizare. Pentru mai multe informații despre noile formate, consultați Introducere în formatele de fișier Open XML.
  • Fiecare program Office oferă un set diferit de instrumente. Interfețele cu utilizatorul și procesele pe care le urmați în Word diferă de interfețele și procesele utilizate în Excel sau PowerPoint. De ce? Deoarece ceea ce funcționează pentru Word nu funcționează obligatoriu pentru Excel și tot așa.
  • Programele Office pot funcționa cu scheme, transformări și date de la alți furnizori, cât timp codul XML este corect formulat.
  • Unele dintre programele Office utilizează XML în fundal, iar unele, cum ar fi Microsoft Office OneNote™, nu îl acceptă deloc. Cel mai bun mod de a afla dacă un program Office acceptă XML este să lansați Ajutorul online pentru respectivul program și să căutați XML.
Bun, dar ce facem dacă avem date XML fără o schemă? Programele Office care dețin suport pentru XML au propriile abordări care vă ajută să lucrați cu datele. Pentru moment, dacă deschideți un fișier XML în Word fără o schemă atașată, Word va afișa etichetele și datele și vă va permite să aplicați o transformare dacă, de exemplu, creatorul fișierului sau departamentul TI oferă una. În cel mai rău caz, aveți posibilitatea să citiți etichetele și datele din fișier.
Spre deosebire de acesta, Excel deduce o schemă dacă deschideți un fișier XML care nu are deja una. Excel vă oferă apoi opțiunea de a încărca aceste date într-un fișier doar în citire sau să asamblați datele fie într-o listă XML (în Microsoft Office Excel 2003), fie într-un tabel XML (în Office Excel 2007). Aveți posibilitatea să utilizați listele și tabelele XML pentru a sorta, filtra sau pentru a adăuga calcule la date.
Office Professional 2007 și Microsoft Office 2003 oferă același set de instrumente XML. În Office Professional 2007, trebuie să activați mai întâi suportul pentru XML, apoi să lansați instrumentele din alte locații. Cu toate acestea, după ce lansați instrumentele, acestea funcționează la fel în Microsoft Office 2003 și Office Professional 2007. Pașii următori arată cum se pornesc instrumentele XML pentru Office Excel 2007 și Office Word 2007.
 Notă   Microsoft Office Access 2007 activează în mod implicit instrumentele sale XML, de aceea se poate sări peste primii pași dacă utilizați Access.

Activați instrumentele XML în Office Excel 2007 și Office Word 2007

  1. În Excel sau Word, faceți clic pe Butonul Microsoft OfficeImagine buton, apoi faceți clic pe Opțiuni Excel sau Opțiuni Word, în funcție de programul pe care îl aveți deschis.
  2. Faceți clic pe Personalizare.
  3. Sub Opțiuni principale pentru lucrul cu numele aplicației, selectați Afișare filă Dezvoltator în Panglică, apoi faceți clic pe OK.
 Notă   Panglica face parte din Interfața utilizator Microsoft Office Fluent

Lansarea instrumentelor XML în Office Excel 2007 și Office Word 2007

  • În orice program, în fila Dezvoltator, faceți clic pe orice comandă disponibilă în grupul XML.

Lansarea instrumentelor XML în Office Access 2007

  1. Faceți clic pe fila Date externe.
  2. Variante disponibile:
    • În grupul Import, faceți clic pe Fișier XML.
    • În grupul Export, faceți clic pe Mai multe, apoi pe Fișier XML.
Începutul paginii Începutul paginii

Mai multe informații

Linkurile din secțiunile următoare vă conduc la informații despre utilizarea XML în diverse programe Office și despre scrierea de cod XML.
AfișareUtilizarea XML în Ediția Office 2007
AfișareUtilizarea XML în Microsoft Office 2003
AfișareScrierea de cod XML
AfișareCărți despre XML
Începutul paginii Începutul paginii
Se aplică la:
Excel 2007, PowerPoint 2007, Word 2007

Niciun comentariu:

Trimiteți un comentariu