XML - Attributi

Questo capitolo descrive il XML attributes. Gli attributi fanno parte degli elementi XML. Un elemento può avere più attributi univoci. Attribute fornisce ulteriori informazioni sugli elementi XML. Per essere più precisi, definiscono le proprietà degli elementi. Un attributo XML è sempre una coppia nome-valore.

Sintassi

Un attributo XML ha la seguente sintassi:

<element-name attribute1 attribute2 >
....content..
< /element-name>

dove attributo1 e attributo2 hanno la seguente forma:

name = "value"

il valore deve essere tra virgolette doppie ("") o singole (''). In questo caso, attributo1 e attributo2 sono etichette di attributi univoche.

Gli attributi vengono utilizzati per aggiungere un'etichetta univoca a un elemento, posizionare l'etichetta in una categoria, aggiungere un flag booleano o associarlo in altro modo a una stringa di dati. L'esempio seguente dimostra l'uso degli attributi:

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE garden [
   <!ELEMENT garden (plants)*>
   <!ELEMENT plants (#PCDATA)>
   <!ATTLIST plants category CDATA #REQUIRED>
]>

<garden>
   <plants category = "flowers" />
   <plants category = "shrubs">
   </plants>
</garden>

Gli attributi vengono utilizzati per distinguere tra elementi con lo stesso nome, quando non si desidera creare un nuovo elemento per ogni situazione. Quindi, l'uso di un attributo può aggiungere un po 'più di dettaglio nel differenziare due o più elementi simili.

Nell'esempio precedente, abbiamo classificato le piante includendo la categoria di attributi e assegnando valori diversi a ciascuno degli elementi. Quindi, abbiamo due categorie di piante , uno di fiori e altri arbusti . Quindi, abbiamo due elementi vegetali con attributi diversi.

Puoi anche osservare che abbiamo dichiarato questo attributo all'inizio di XML.

Tipi di attributi

La tabella seguente elenca il tipo di attributi:

Tipo di attributo Descrizione
StringType Accetta qualsiasi stringa letterale come valore. CDATA è un StringType. CDATA sono dati di caratteri. Ciò significa che qualsiasi stringa di caratteri non di markup è una parte legale dell'attributo.
TokenizedType

Questo è un tipo più vincolato. I vincoli di validità annotati nella grammatica vengono applicati dopo che il valore dell'attributo è stato normalizzato. Gli attributi TokenizedType sono forniti come -

  • ID - Viene utilizzato per specificare l'elemento come unico.

  • IDREF - Viene utilizzato per fare riferimento a un ID che è stato denominato per un altro elemento.

  • IDREFS - Viene utilizzato per fare riferimento a tutti gli ID di un elemento.

  • ENTITY - Indica che l'attributo rappresenterà un'entità esterna nel documento.

  • ENTITIES - Indica che l'attributo rappresenterà entità esterne nel documento.

  • NMTOKEN - È simile a CDATA con limitazioni su quali dati possono essere parte dell'attributo.

  • NMTOKENS - È simile a CDATA con limitazioni su quali dati possono essere parte dell'attributo.

EnumeratedType

Questo ha un elenco di valori predefiniti nella sua dichiarazione. di cui deve assegnare un valore. Esistono due tipi di attributi enumerati:

  • NotationType - Dichiara che un elemento farà riferimento a una NOTAZIONE dichiarata da qualche altra parte nel documento XML.

  • Enumeration - L'enumerazione consente di definire un elenco specifico di valori che il valore dell'attributo deve corrispondere.

Regole degli attributi degli elementi

Di seguito sono riportate le regole che devono essere seguite per gli attributi:

  • Il nome di un attributo non deve apparire più di una volta nello stesso tag di inizio o tag di elementi vuoti.

  • An attribute must be declared in the Document Type Definition (DTD) using an Attribute-List Declaration.

  • Attribute values must not contain direct or indirect entity references to external entities.

  • The replacement text of any entity referred to directly or indirectly in an attribute value must not contain a less than sign (<)