[XML]Documenti ben formattati

Andare in basso

[XML]Documenti ben formattati

Messaggio  Admin il Lun Ago 22, 2011 1:00 pm

XML richiede del rigore nella sintassi, per esempio tag vuoto deve necessariamente prevedere il tag di chiusura o in alternativa la versione abbreviata del tag.

Un principio a cui ogni documento XML non può sottrarsi è quello di d'essere ben formattati (well formed), quindi ecco alcuni canoni per rispettare "la regola delle regole":
  1. Un documento XML deve contenere un elemento di massimo livello, da cui "nascono" tutti gli altri, questo è l'elemento di root, le uniche cose che possono stare dietro a questo sono i commenti e le direttive di elaborazione: tipo la dichiarazione della versione XML
  2. Ogni elemento deve avere un tag di chiusura, e se sono vuoti la forma abbreviata ( /> )
  3. Gli elementi devono essere opportunamente nidificati, cioè i tag di chiusura devono seguire l'ordine inverso dei rispettivi tag di apertura
  4. Questo linguaggio fa distinzione fra maiuscole e minuscole, per cui MIOtag è diverso da miotag, ed in più se apro un tag con delle lettere minuscole lo devo chiudere sempre con esse!
  5. I valori degli attributi devono sempre essere racchiusi tra singoli o doppi apici


La violazione di queste regole causerà un documento mal formattato, quindi bisogna prestare molta attenzione a queste regole.

Codici tipo:

<articolo titolo=test>
...
</Articolo>

e

<paragrafo>
<testo>abcdefghi...
</paragrafo>
</testo>

Daranno qualche problema.

La scelta dei nomi dei tag segue alcune regole:
  1. Un tag può iniziare con un lettera o un underscore (_)
  2. Può contenere lettere, numeri, il punto, l'underscore (_) o il trattino (-)
  3. Si ricorda che <ciao> è diverso da <CIAO>


Riguardo il contenuto, un documento XML può contenere potenzialmente qualsiasi carattere dell'alfabeto latino, cifre e punteggiatura. Normalmente vengono accettati come caratteri validi in un documento XML i primi 128 caratteri della codifica ASCII (lettere dell'alfabeto latino minuscole e maiuscole, cifre, segni di punteggiatura, ecc.).

Se si vogliono mettere dei nomi di tag con i caratteri "vietati" bisogna specificarlo nel direttive di elaborazione o processing instruction:
<?xml version="1.0" encoding="iso-8859-1"?>

abilita l'uso del set di caratteri noto come Latin 1 contenente le lettere accentate ed altri simboli.

C'è anche lo standard unicode, che prevede l'uso di caratteri non latini (greco, cinese ecc.).

Per facilitarne la lettura, si possono inserire dei commenti, essi si eseguono come nell'HTML:
<!--questo è un commento-->

In alcuni casi potrebbe essere necessario inserire dei caratteri che potrebbero essere confusi, come < che lo può interpretare come l'inizio di un nuovo tag:
<testo>
il simbolo < indica minore di
</testo>

Per ovviare a questo XML prevede dei "caratteri speciali", detti entità:
  • &amp; definisce il carattere &
  • &lt; definisce il carattere <
  • &gt; definisce il carattere >
  • &quot; definisce il carattere "
  • &apos; definisce il carattere '


Sfruttando esse, il codice di prima diventa:
<testo>
il simbolo &lt; indica minore di
</testo>

Se dobbiamo usare quei caratteri molte volte, o semplicemente non riusciamo a impararle a memoria Very Happy...possiamo usare un blocco CDATA (Character DATA), cioè ogni cosa contenuta in esso sarà considerato testo, anche se contiene del codice XML.

Per farlo è sufficiente mettere il testo fra: <![CDATA[ e ]]>, ecco un esempio:
<codice>
<![CDATA[
<libro>
<capitolo>
</capitolo>
</libro>
]]>
</codice>

In questo caso:
<libro>
<capitolo>
</capitolo>
</libro>
saranno riconosciuti come testo e non come tag.

Un saluto!
avatar
Admin
Admin
Admin

Messaggi : 148
Punti : 14812
Reputazione : 0
Data d'iscrizione : 24.04.11
Età : 38
Località : Emiglia Romagna

Visualizza il profilo dell'utente http://c88software.blogspot.com

Tornare in alto Andare in basso

Tornare in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum