Una introducció realment bàsica a l’XML

Aquest apunt és una traducció de l’article XML basics… and I do mean basics! d’Alex Painter, publicat a BookMachine el 15 de maig de 2013. Com que em va agradar molt (sobretot perquè el vaig entendre a la primera!), el vaig desar i escampar per les xarxes. Ja llavors algú em va suggerir que no estaria malament traduir-lo, cosa que va passar a la carpeta d’idees… Fins i tot vaig demanar permís per Twitter als de BookMachine i em van dir que sí, però no vaig acabar de posar fil a l’agulla. Ara que estic fent un curs de traducció de pàgines web (a veure si ententen millor tot això s’amplien les possibilitats de feina), m’ha semblat un bon moment. En el fons només és un exercici, però el deixo aquí penjat per si fa servei a algú.

lights_lines_bright_

Aquest text és una introducció molt bàsica a l’XML (extensive markup language, ‘llenguatge d’etiquetatge extensible’). Si penseu que l’XML és només per als que hi entenen de tecnologia o de fet no teniu gaire idea de què és, aquest text està escrit per a vosaltres.
 

Quan era petit, vaig tenir un rellotge digital (sóc prou gran per recordar-me de quan els rellotges digitals eren una novetat fascinant). Un dia, estava molt avorrit i tenia molta curiositat. Vaig decidir desmuntar-lo per veure com funcionava.

L’experiència va ser decebedora. Vaig donar el primer cop d’ull a l’interior i vaig pensar: «És impossible que mai arribi a saber què passa aquí dins».

Això és més o menys el que vaig pensar la primera vegada que vaig veure un tros de codi informàtic. He dit «codi informàtic» encara que de fet això no signifiqui gran cosa, perquè el cert és que no em recordo de què era el que em mirava. Només que era una cosa d’ordinadors. I no s’entenia gens.

Per tant, si mai heu obert un fitxer XML, heu vist el que us ha semblat una colla de signes de puntuació escampats de qualsevol manera, i de tant en tant paraules que potser tenien sentit o potser no, i heu pensat «jo plego», conec perfectament aquesta sensació.

La veritat és que un fitxer XML pot semblar molt complicat.

Però en realitat és terriblement senzill, fins al punt de resultar gairebé absurd.

De fet, crec que si es té aquesta idea clara, la batalla ja està mig guanyada. És molt fàcil dir-se: «Això és una cosa tècnica, no fa per a mi, no ho entendré mai». Ho sé perquè jo pensava exactament el mateix.

Però en realitat, només cal saber una mica de terminologia i un parell de normes senzilles, i ja ho tens.

1. Què fa l’XML?

Doncs de fet, no gaire cosa. L’XML és només una manera d’emmagatzemar la informació. Però resulta útil perquè l’emmagatzema de tal manera que els programes informàtics la poden utilitzar fàcilment per fer moltes coses.

2. Els elements

Els elements són les peces que formen un arxiu XML. Us podeu imaginar que un element és com una capsa amb informació a dins.

Normalment, un element té tres parts:

a) Una etiqueta d’inici. Així és com se sap que comença un element! Té un aspecte més o menys així:

<elementTal>

b) Contingut. És la informació que s’hi vol emmagatzemar.

c) Una etiqueta de final. S’assembla molt a l’etiqueta d’inici, només que té una barra inclinada després del signe <:

</elementTal>

Per tant, un element sencer seria una cosa així:

<elementTal>Informació que vull desar-hi</elementTal>

L’XML distingeix entre majúscules i minúscules, per tant cal assegurar-se que les lletres de l’etiqueta de final són idèntiques a les de la d’inici.

3. Li puc posar a un element el nom que vulgui?

En general, sí. Li podeu posar <elementTal>, si de debò ho voleu, però el més habitual és preferir un nom una mica més descriptiu.

L’important és que no hi ha cap llista predeterminada d’elements XML.

Això no obstant, alguns fitxers XML, com ara els que van inclosos en un document ePub, han d’incloure determinats elements amb uns noms determinats. Així, el programari lector de llibres electrònics sap què ha de fer amb el contingut d’aquests fitxers.

Hi ha unes quantes regles per posar noms als elements. Per exemple, s’hauria de començar amb una lletra o un guió baix i (sense entrar en detalls) és millor no fer servir puntuació.1 Ah, i el nom de l’element no pot començar amb les lletres xml.

4. Puc posar un element dins d’un altre?

I tant que sí!

De fet, es poden incrustar molts elements diferents dins d’altres elements.

Aquest exemple conté informació sobre un llibre:

<llibre>2

<titol>Guia de monstres marins</titol>

<autor>

<pseudonim_autor>Capità Ahab von Herman</pseudonim_autor>

<nom_real_autor>J. Bloggs</nom_real_autor>

</autor>

<primera_edicio>2010</primera_edicio>

</llibre>

Tots els documents en XML han de tenir un element arrel (només un!), que conté tots els altres elements. En l’exemple anterior, l’element arrel podria ser <llibre>. Però si hi volguéssim incloure més d’un llibre, hauríem de crear una altra arrel.

Per exemple:

<cataleg_llibres>

<llibre>

<titol>Guia de monstres marins</titol>

<autor>

<pseudonim_autor>Capità Ahab von Herman</pseudonim_autor>

<nom_real_autor>J. Bloggs</nom_real_autor>

</autor>

<primera_edicio>2010</primera_edicio>

</llibre>

</cataleg_llibres>

5. Els atributs

Un atribut conté una mica més d’informació sobre un element. Per exemple, agafem l’exemple del llibre i suposem que volem incloure-hi el preu. Hi podríem afegir un element amb el preu:

<preu>9,99</preu>

Però potser també volem incloure informació sobre en quina moneda està el preu. Ho podríem fer afegint un atribut de moneda:

<preu moneda=”EUR”>9,99</preu>

Els noms dels atributs, com els dels elements, els defineix l’usuari, tot i que també hi ha algunes normes sobre com es pot dir un atribut i com no.

6. L’última coseta…

Gairebé ja tenim tot el que cal per crear un document XML. Només ens falta una cosa: una declaració XML, que l’identifica com un document XML i també pot incloure una mica més d’informació.

Tindria un aspecte més o menys així:

<?xml versio=”1.0” codificacio=”UTF-8”?>

Es posa ben bé al principi del document i serveix per indicar a qualsevol ordinador que el llegeixi com l’ha de tractar.

7. I tot això, per a què era?

Això ens porta a l’última cosa que volia dir. L’XML és útil perquè té una estructura fixa que els ordinadors poden manejar fàcilment. Quan s’ha etiquetat la informació en un fitxer XML, s’hi poden fer moltes coses. Per exemple, es podria fer servir per crear una base de dades on fer cerques o un catàleg de productes a Internet.

Aquesta guia és molt breu, i no està ni de bon tros completa, però espero que us demostri que l’XML no és tan terrible com sembla a primera vista.

Crec que això és important.

Potser d’altres no hi estaran d’acord, però crec que vivim en un moment en què a tots ens convé entendre de tecnologia, ni que sigui una miqueta. Recordo que fa temps em pensava que qualsevol que pogués fer coses amb ordinadors tenia poders gairebé de bruixeria. Quan es parla de genis de la informàtica, hi ha qui s’imagina que són com el de la llàntia.

I si bé no tots podem ser capaços d’escriure codi com els àngels, crec que almenys tenir un vocabulari compartit amb els que sí que en saben ens ajudarà a treballar millor plegats.

 

Notes de la t.

1. No ho he mirat, però diria que els accents i els caràcters estranys també són una mala idea.

2. En el món real, no em sorprendria que aquestes etiquetes estiguessin en anglès, ni que fos un anglès aproximat. Però com que aquí l’objectiu és entendre com funcionen, les poso en català, que queda  més clar.


2 comentaris on “Una introducció realment bàsica a l’XML”

  1. Montse escrigué:

    Gràcies. Se m’ha girat feina!

    M'agrada

    • Anna Llisterri escrigué:

      M’alegro que t’hagi fet servei. I que la feina sigui profitosa! Jo també m’hauria de posar a practicar amb etiquetes i companyia més seriosament…

      M'agrada


Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s