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:
- En una etiqueta explícita de tancament.
- 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 "
<?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 (
<?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 "
Code | Tree representation |
---|---|
![]() |
![]() |
El document anterior no és correcte ja que en el document hi consten dues etiquetes pares: "
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ó.