Condividi tramite


ATTLIST (Elenco attributi)

L'istruzione ATTLIST è usata per elencare e dichiarare ciascun attributo che può appartenere a un elemento. Specifica innanzitutto il nome dell'elemento (o degli elementi) per i quali verrà applicato l'elenco di attributi. Quindi elenca ciascun attributo per nome, indicando se è obbligatorio, e specifica i dati di tipo carattere consentiti come valore per l'attributo.

Sintassi

<!ATTLIST  elementName  attributeName  dataType  default >

Parametri

  • elementName
    Il nome dell'elemento a cui è applicato l'elenco di attributi.

  • attributeName
    Il nome di un attributo. È possibile ripetere questo parametro secondo le esigenze per elencare tutti gli attributi disponibili da usare con elementName.

  • dataType
    Il tipo di dati per l'attributo denominato nel parametro attributeName, che deve essere uno dei seguenti:

    • CDATA - L'attributo contiene solo dati di tipo carattere.

    • Identificatore - Il valore dell'attributo deve essere univoco. Non è possibile ripeterlo in altri elementi o attributi usati nel documento.

    • IDREF - L'attributo fa riferimento al valore di un altro attributo del documento, relativo al tipo identificatore.

    • ENTITY - Il valore dell'attributo deve corrispondere al nome di un'entità ENTITY esterna non analizzata e dichiarata nella stessa DTD.

    • ENTITIES - Il valore dell'attributo contiene più nomi di entità esterne non analizzate dichiarate nella DTD.

    • NMTOKEN - Il valore dell'attributo deve essere un token del nome. Nel token del nome sono consentiti valori di dati, ma sono presenti più limitazioni rispetto a CDATA. Un token del nome può contenere lettere, numeri e alcuni segni di punteggiatura quali, ad esempio, punti, trattini, caratteri di sottolineatura e due punti. I valori del token del nome, tuttavia, non possono contenere alcun carattere di spaziatura.

    • NMTOKENS - Il valore dell'attributo contiene più token del nome. Per altre informazioni, vedere la descrizione di NMTOKEN e di Enumerato.

    • Enumerated - I valori dell'attributo sono limitati a quelli contenuti in un elenco enumerato. Viene eseguita un'analisi valida solo dei valori corrispondenti a quelli dell'elenco. Tutti i tipi di dati enumerati sono racchiusi tra parentesi e ciascun valore è separato da una barra verticale ("|").

  • predefiniti
    Il valore predefinito dell'attributo denominato in attributeName. Nella tabella seguente sono descritti i valori predefiniti possibili.

    Valori predefiniti

    Descrizione

    #REQUIRED

    L'attributo deve essere visualizzato nel documento XML oppure si verificherà un errore di analisi. Per evitare un errore di analisi in alcuni casi, è anche possibile usare il campo defaultValue subito dopo questa parola chiave.

    #IMPLIED

    L'attributo può essere presente nel documento XML ma, se omesso, non si verificherà un errore di analisi. In alternativa, a volte è possibile usare anche il campo defaultValue che segue direttamente questa parola chiave.

    #FIXED

    L'attributo presenta un valore fisso nella DTD e non può essere modificato o sovrascritto nel documento XML. Se si usa questa parola chiave, è necessario usare anche il campo defaultValue subito dopo questa parola chiave per dichiarare il valore fisso dell'attributo.

    defaultValue

    Un valore fisso o predefinito. Questo valore viene inserito nel documento XML se l'attributo è mancante o se non viene usato nel documento XML. È necessario racchiudere tutti i valori tra virgolette (doppie o singole).

Nota

Per ogni dichiarazione ATTLIST impostata nella DTD, è necessario usare solo un'occorrenza di elementName.I parametri attributeName, dataType e default definiscono ciascun attributo dell'elenco e possono essere ripetuti secondo le esigenze finché non sono stati elencati e definiti tutti gli attributi disponibili da usare con elementName.

Esempio

In questo esempio viene dichiarato quanto segue per l'elemento <book>:

  • Un attributo publisher facoltativo che può contenere dati di tipo carattere.

  • Un attributo reseller il cui valore è impostato su "MyStore".

  • Un attributo ISBN richiesto che deve contenere un valore di identificazione univoco per ogni elemento <book> nel documento XML.

  • Un attributo InPrint richiesto che deve contenere il valore "yes" o "no". Se il valore non è impostato in modo esplicito nel documento XML, per impostazione predefinita viene applicato il valore "yes".

<!ATTLIST book
    publisher  CDATA     #IMPLIED
    reseller   CDATA     #FIXED    "MyStore"
    ISBN       ID        #REQUIRED
    inPrint    (yes|no)  "yes"
>

Vedere anche

Concetti

ELEMENT

ENTITY (XML)

NOTATION