Condividi tramite


Attributi

Gli attributi consentono di aggiungere informazioni su un elemento tramite coppie di nomi e valori. Spesso vengono utilizzati per definire proprietà di elementi che non sono considerate come contenuto dell'elemento, sebbene in alcuni casi (ad esempio, l'elemento HTML img) il contenuto dell'elemento sia determinato da valori di attributo.

Gli attributi possono essere visualizzati in tag di inizio o vuoti, ma non in tag di fine. La sintassi ha il seguente aspetto:

<elementName att1Name="att1Value" att2Name="att2Value"...>

oppure:

<elementName att1Name="att1Value" att2Name="att2Value".../>

Gli attributi devono avere sia un nome sia un valore. Non sono consentiti nomi senza valori. Un elemento non può avere due attributi con lo stesso nome. Poiché l'ordine in cui gli attributi sono presenti all'interno di un elemento non è considerato importante da XML, tale ordine potrebbe non essere conservato dal parser XML.

Come i nomi degli elementi, anche i nomi degli attributi distinguono tra maiuscole e minuscole e devono iniziare con una lettera o un carattere di sottolineatura. Il resto del nome può contenere lettere, cifre, trattini, caratteri di sottolineatura e punti.

ms256152.note(it-it,VS.100).gifNota:
I due punti sono riservati per l'utilizzo con gli spazi dei nomi.Per ulteriori informazioni su quali caratteri Unicode siano lettere e cifre accettabili, vedere l'Appendice B delle specifiche XML.

I valori degli attributi devono seguire le stesse regole del normale contenuto testuale, con alcune restrizioni aggiuntive. I valori dell'attributo possono contenere solo testo e non markup di elementi. All'interno dei valori di attributo sono consentiti i riferimenti di entità e di carattere, ma non sezioni CDATA.

Infine, potrebbe essere necessario che le virgolette siano preceduteda un carattere di escape. La specifica XML consente di utilizzare sia virgolette singole che virgolette doppie per indicare gli attributi, purché il tipo di virgolette utilizzato sia lo stesso su entrambi i lati del valore di attributo. Tuttavia, è necessario utilizzare le virgolette per racchiudere i valori di attributo. I parser XML rifiuteranno i documenti in cui non vengono utilizzate le virgolette per racchiudere i valori di attributo e restituiranno un errore.

Se si utilizzano virgolette singole per racchiudere un valore di attributo, è necessario rappresentare le virgolette singole all'interno del valore stesso utilizzando il riferimento di entità &apos;.

<myElement contraction='isn&apos;t' />

Se si utilizzano virgolette doppie per racchiudere un valore di attributo, è necessario rappresentare le virgolette doppie all'interno del valore stesso utilizzando il riferimento di entità &quot;.

<myElement question="They asked &quot;Why?&quot;" />

Tuttavia, è possibile utilizzare virgolette doppie all'interno di attributi racchiusi da virgolette singole e viceversa, come viene mostrato negli esempi seguenti.

<myElement contraction="isn't" />
<myElement question='They asked "Why?"' />

È inoltre possibile utilizzare diversi tipi di virgolette per diversi valori di attributo all'interno dello stesso elemento.

<myElement contraction="isn't" question='They asked "Why?"' />

I parser XML non mantengono lo spazio vuoto all'interno dei valori di attributo allo stesso modo in cui conservano lo spazio vuoto all'interno del contenuto testuale degli elementi. In un parser di convalida con accesso a una DTD, tutto lo spazio vuoto in un valore di attributo di qualsiasi tipo diverso da CDATA viene sostituito da uno spazio singolo. Gli spazi vuoti iniziali e finali verranno rimossi.