Documents XML ben formats

Regles Sintàctiques XML

Per fer un document XML ben format cal complir les regles següents:

Declaració XML: Cada document XML ha de començar amb una declaració XML que defineixi la versió i el tipus de codificació, per exemple:

<?xml version="1.0" encoding="UTF-8"?>

Element Arrel: Cada document XML ha de tenir un únic element arrel que conté tots els altres elements. Per exemple:
<arrel><!-- Altres elements aquí --></arrel>

Elements Ben Tancats: Cada element ha de tenir una etiqueta d’obertura i una etiqueta de tancament, o ser un element auto-tancat. Per exemple:

<element>Contingut</element>
<element_autotancat />

Sensibilitat a Majúscules i Minúscules: Els noms dels elements i atributs són sensibles a majúscules i minúscules. Per exemple:

<Element> ← són diferents → <element>

Atributs en Etiquetes: Els atributs han d’estar entre cometes. Per exemple:

<element atribut="valor">Contingut</element>

Regles Sintàctiques Generals

Comentaris: Els comentaris es poden afegir utilitzant . Per exemple:

<!-- Aquest és un comentari -->

Caràcters Especials: Alguns caràcters especials com <, >, &, i estan reservats pels lleguauges de marques i cal representar-los com entitats especials predefinides en HTML. Aquí pots trobar una llista completa de les entitats HTML.

Espais en Blanc: Els espais en blanc dins dels elements es conserven. Això significa que els espais en blanc poden ser significatius.

Declaració de Tipus de Document (DTD): Opcionalment, es pot incloure una DTD per definir l’estructura del document XML.

Seguint aquestes regles, pots assegurar-te que els teus documents XML estiguin ben formats i siguin fàcils de processar per diferents aplicacions.

Etiquetes, marques o tags

Les marques o etiquetes característiques de l’XML es representen mitjançant un nom tancat entre els símbols menor_que (<) i major_que (>). Podem posar el nom que vulguem a les etiquetes, però evidentment és aconsellable posar noms que ens ajudin a identificar el seu contingut. En l’exemple de l’article anterior, la primera etiqueta que trobem és: <llistaclients> i ens informa de que a continuació trobarem una «llista de clients».

Les marques o etiquetes identifiquen blocs de dades, per tant, sempre tindrem un punt d’inici i un punt final (quan s’acaben les dades). En conseqüència les etiquetes sempre van per parelles. Quan iniciem un bloc de dades obrirem una etiqueta, i en finalitzar el bloc de dades haurem de posar l’etiqueta de tancament corresponent. Les etiquetes de tancament es diferencien de les d’obertura posant una barra (/) davant el nom.

En l’exemple la última etiqueta que trobem és: i la seva funció és tancar el bloc de dades que hem obert amb l’etiquetat . Els documents XML sempre han de tenir una etiqueta arrel (en l’exemple és ) que contindrà totes les altres etiquetes.

Per tal de mantenir l’estructura d’arbre és imprescindible que les etiquetes s’obrin i es tanquin en el lloc correcte (no es poden creuar blocs de dades). Per exemple, la següent estructura és incorrecte:


01. <noticia>
02.  <titol>El Barça guanya la lliga
03.   <contingut>Aquest dissabte el barça s'ha proclamat ...
04.  </titol>
05.   </contingut>
06. </noticia>

Aquest bloc de dades representa una noticia. La noticia està formada per dos nous blocs de dades: El títol i el contingut de la notícia. El problema està en el fet de que tanquem l’etiqueta que delimita el títol quan ja hem obert l’etiqueta de contingut. Estem creuant blocs de dades.

Escrit per grigol@xtec.cat

   

Estructura i Sintaxi en XML

Exemple de document XML
01. <?xml version="1.0" encoding="UTF-8"?>
02. <llistaclients>
03. <!-- Aquesta línia és un comentari -->
04.   <client>
05.     <nif>33564482F</nif>
06.     <nom>Enric</nom>
07.     <cognoms>Costa Garcia</cognoms>
08.     <adreça>Principal, 12</adreça>
09.     <poblacio>Torelló</poblacio>
10.     <telefon>938812425</telefon>
11.   </client>
12.   <client>
13.     <nif>44562483A</nif>
14.     <nom>Jaume</nom>
15.     <cognoms>Pérez Vila</cognoms>
16.     <adreça>Major, 18</adreça>
17.     <poblacio>Seva</poblacio>
18.     <telefon>938124588</telefon>
19.   </client>
20.   <client>
21.     <nif>73852268U</nif>
22.     <nom>Anna</nom>
23.     <cognoms>Munts Poblet</cognoms>
24.     <adreça>Travessera, 42</adreça>
25.     <poblacio>Manlleu</poblacio>
26.     <telefon>938887538</telefon>
27.   </client>
28. </llistaclients>

La primera línia no és obligatòria però si recomanable. Serveix per especificar la versió XML (per ara posarem “1.0”) i la taula de codis per a la representació dels caràcters especials (ç, ñ, i vocals accentuades o amb dièresis). Generalment utilitzarem “UTF-8” o “ISO-8859-1”. La codificació especificada en l’atribut encoding ha de coincidir amb la codificació física de l’arxiu de text. Si no
és així, tindrem problemes alhora de visualitzar els caràcters especials.

La sintaxis XML preveu la possibilitat d’incorporar comentaris dintre del document. Els comentaris sempre seran ignorats per qualsevol aplicació informàtica que llegeixi el document, per tant només serviran com a notes, recordatoris o advertències als programadors que editin el document. La forma d’introduir un comentari és la següent:

<!-- Aquesta línia és un comentari -->

Com que no formen part de l’estructura d’arbre XML, podem posar comentaris en qualsevol lloc del document.

Tal com mostra l’exemple, els símbols “>” i “<” s’utilitzen per delimitar les etiquetes. Per tant, aquests símbols són caràcters reservats que no podem utilitzar en els blocs de dades, ja que entrarien en conflicte amb les etiquetes. Si necessitem escriure un d’aquests símbols, haurem d’utilitzar les seqüències d’escapament que ens ofereix la sintaxi XML conegudes com entitats predefinides

Si hem d’escriure una gran quantitat de text amb símbols especials diversos, la utilització d’entitats pre-definides pot resultar poc pràctic. En aquest cas podem utilitzar una secció CDATA. La seva sintaxi és la següent

<![CDATA[ ....................... ]]>

La única restricció és que dintre una secció CDATA no hi podem escriure doble claudàtor ]] ja que aquesta combinació de caràcters s’utilitza per indicar el punt de finalització de la secció.

Activitats
  • Elabora un document xml ben format que inclogui etiquetes amb entitats predefinides i blocs de dades amb CDATA.

Escrit per grigol@xtec.cat

   

Introducció a l’XML

XML, de l’anglès eXtensible Markup Language («llenguatge de marques extensible»), és un metallenguatge extensible, d’etiquetes, desenvolupat pel World Wide Web Consortium (W3C). És una simplificació i adaptació de l’experimentat SGML, i permet de definir la gramàtica de llenguatges específics (de la mateixa manera que HTML és, alhora, un llenguatge definit per SGML). Per tant, XML no és realment un llenguatge en particular, sinó una manera de definir llenguatges per a diferents necessitats.

Emmagatzemar dades mitjançant el llenguatge XML ens proporciona diverses avantatges:

  • És multi-plataforma, els arxius XML realment són arxius de text que podem editar amb qualssevol editor ASCII (bloc de notes). Per tant podrem accedir a ells des de qualsevol sistema operatiu/aplicació.
  • Ens permet exportar/importar dades entre aplicacions aparentment incompatibles entre elles.
  • Sense tenir grans coneixements d’informàtica, podem entendre i llegir fàcilment un document XML degut a que la seva estructura és molt intuïtiva.
  • És auto-descriptiu, és a dir, les etiquetes ens descriuen el significat del seu propi contingut.
  • Podem emmagatzemar estructures complexes gràcies a que segueix una estructura d’arbre, cosa que no podem fer amb altes formats més bàsics com per exemple el .csv (comma-separated values).
  • Un document XML és extensible degut a que es basa en un estructura que pot créixer sense limitacions.
  • Fàcilment integrable en qualssevol aplicació informàtica.

    Escrit per grigol@xtec.cat

     

2.0 RSS (Really Simple Syndication)

L’RSS és l’acrònim de Really Simple Syndication i va ser la primera tecnologia per crear canals de continguts. Es tracta d’un document en format XML utilitzat per publicar continguts que s’actualitzen tot sovint, com ara llocs de notícies, weblogs i podcasts, permetent la sindicació de continguts.

La Sindicació de la paraula anglesa syndication, fa referència a la redistribució de continguts informatius o lúdics d’un emissor original a través d’un altre (amb el consentiment de l’autor original). La sindicació s’ha popularitzat en l’entorn web, però és un concepte que s’utilitza des de fa molt de temps en diferents àmbits.