Introducció

Apart de tenir que respectar les normes individuals per a cada un dels elements que conformen el document XML, hi ha unes normes generals que afecten a la composició d'un document XML. En aquest document es detallen aquestes normes aportant exemples.

Cal tancar totes les etiquetes

Un document XML inclou una o vàries etiquetes. Cada una de les etiquetes obertes cal que tingui una etiqueta de tancament. Per a tancar aquesta etiqueta es pot fer de dues maneres:

  1. En una etiqueta explícita de tancament.
  2. En la pròpia etiqueta.

En una etiqueta explícita de tancament.

Per a tancar una etiqueta utilitzem el símbol "</" seguit del nom de l'etiqueta: recorda que XML és case-sensitive

Exemple:


<?xml version="1.0" ?>

<etiq>contingut</etiq>

Amb l'etiqueta "</etiq>" tanquem l'etiqueta "".

En la pròpia etiqueta.

Abans del símbol ">" que indica el final de la definició de l'etiqueta incloem el símbol "/" de forma que ens quedarà "/>" . Amb els caràcters "/>" es tanca la definició de l'etiqueta i de la pròpia etiqueta.


<?xml version="1.0" ?>

<etiq />

En aquest cas, amb l'etiqueta "" s'obre i es tanca una etiqueta sense contingut. De forma adicional, es podria haver inclòs alguns atributs dins de l'etiqueta.


<?xml version="1.0" ?>

<etiq atr1="valorAtr1" />

Cal tancar les etiquetes per l'ordre invers en què s'han obert

Les primeres etiquetes que s'obrin seran sempre les últimes que s'hauran de tancar.


<?xml version="1.0" ?>

<etiq1>
    <etiq2>
        <etiq3>
        </etiq3>
    </etiq2>
</etiq1>

Com es pot observar en l'exemple, l'etiqueta 1 () que és la primera que s'obre és l'última que es tanca. El següent exemple també és vàlid:


<?xml version="1.0" ?>

<etiq1>
    <etiq2.1>
        <etiq3>
        </etiq3>
    </etiq2.1>
    <etiq2.2>
        <etiq3>
        </etiq3>
    </etiq2.2>
</etiq1>

El següent exemple no és vàlid!!


<?xml version="1.0" ?>

<etiq1>
    <etiq2.1>
        <etiq3>  </etiq3>
        <etiq4>
        <etiq3>  </etiq3>
    </etiq2.1>
        </etiq4>
</etiq1>

Només pot existir una etiqueta pare en tot el document

L'etiqueta pare és aquella que es defineix després de la declaració del document. Aquesta etiqueta sempre s'ha de tancar al final del document (no es pot obrir cap altra etiqueta després del tancament de la primera etiqueta ni afegir cap altra informació que no siguin comentaris).

Code Tree representation

El codi anterior és correcte, després de tancar la primera etiqueta "" només s'ha afegit un comentari. En la representació jeràrquica gràfica es pot observar com l'arbre resultant només consta d'un node arrel (etiqp).

Code Tree representation

El document anterior no és correcte ja que en el document hi consten dues etiquetes pares: "". En aquest cas, les dues etiquetes tenen el mateix nom. Si representem el document XML en forma d'arbre, observem com apareix un node "etiqp" qne no està relacionat amb cap node i que seria l'origen d'un segon arbre (en el cas de tenir contingut).

Espais i retorns de línia

En un document XML els espais no significatius (per exemple, 2 espais seguits) i els retorns de línia no són rellevants. En realitat hi ha programes que eliminen tots els espais no significatius i retorns de línia per a disminuir el tamany del fitxer, tot i dificultar-ne la seva lectura. Normalment, la compressió del fitxer es fa quan aquest ja està finalitzat.

Per exemple, aquests dos documents XML són idèntics


<?xml version="1.0" ?>

<etiq1>
    <etiq2.1>
        <etiq3>
              Hola,     bon dia!
        </etiq3>
    </etiq2.1>
    <etiq2.2>
        <etiq3>
              Adeu
        </etiq3>
    </etiq2.2>
</etiq1>

<?xml version="1.0" ?>
<etiq1><etiq2.1><etiq3>Hola, bon dia!</etiq3></etiq2.1><etiq2.2><etiq3>Adeu</etiq3></etiq2.2></etiq1>

Com es pot comprovar, la segona versió és molt més compacte:

  • Menys espai en memòria
  • Redueix temps de transmisió.

results matching ""

    No results matching ""