back to top

Gli attributi di XML

Nella precedente lezione della nostra guida XML abbiamo visto che gli elementi di un documento XML sono definiti mediante tag. In questa lezione vedremo cosa sono gli attributi e come possono essere utilizzati in XML.

Cos’è un attributo in XML

Viene utilizzato un attributo per aggiungere una caratteristica o una proprietà ad un elemento. Un attributo è una coppia nome-valore, separata da un segno di uguale (=), che può essere presente all’interno del tag di apertura di un elemento, dopo il nome dell’elemento stesso. Un elemento può contenere uno o più attributi.

Ogni attributo è sempre associato ad un elemento, non ha vita autonoma. Inoltre, lo stesso attributo può ricorrere anche in più elementi. Gli attributi sono informazioni aggiuntive che possono essere inserite negli elementi XML per completarne o arricchirne l’informazione, in maniera simile a quanto accade in HTML; possono essere racchiusi sia tra apici singoli che doppi. Vediamo un esempio:

HTML
<img src="logo.gif">
<a href="login.jsp">

XML
<messaggio azienda="Lamia Spa">
Ricordati la riunione di oggi
</messaggio>

Spesso le stesse informazioni possono essere rappresentate sia tramite attributi che tramite (sotto)elementi. Ad esempio:

Sotto-elementi
<nota>
    <a>Pier</a>
    <da>Paolo</da>
    <titolo>Appuntamento</titolo>
    <messaggio>...</messaggio>
</nota>

Attributi
<nota titolo="Appuntamento">   
    <a>Luca</to>
    <da>Carlo</from>
    <messaggio>...</messaggio>
</nota>

Problemi con gli attributi

La scelta se ricorrere ad attributi o elementi è soggettiva, tuttavia le due soluzioni non sono in genere equivalenti.

L’utilizzo degli attributi presenta una serie di problemi, tra cui:

  • non sono adatti a gestire valori multipli, ad esempio:
<padre nome="Piero">
  <figlio>Simone</figlio>
  <figlio><Marco></figlio>
</padre>
  • sono difficilmente espandibili;
  • non possono descrivere strutture complesse, ad esempio:
<libro>
  <autore>
    <nome> ... </nome>
    <cognome> ... </cognome>
  </autore>
</libro>;
  • non hanno un supporto standard per la gestione nei programmi;
  • sono difficili da controllare rispetto ad un formato di documento DTD;

E’ opportuno, pertanto, usare gli attributi solo per informazioni essenziali per l’elemento, come ad esempio gli identificativi (ID) mentre per esigenze più articolate è preferibile utilizzare dei sotto-nodi.

Pubblicitร 
Articolo precedente
Articolo successivo