Un attributo descrive un attributo XML o un elemento semplice qualsiasi in un messaggio.
Gli attributi vengono forniti per semplificare la creazione di modelli di messaggio XML e se nessuno dei messaggi utilizza il formato fisico XML, utilizzare gli elementi semplici.
L'utilizzo più comune di un attributo è modellare un attributo XML in un messaggio XML. In tale scenario, per ciascun attributo visualizzato nel messaggio XML esiste un attributo corrispondente nella definizione logica del messaggio.
Talvolta è necessario analizzare un messaggio come XML ma scriverlo in un altro formato fisico (Custom Wire Format o TDS). In tal caso, gli attributi nel messaggio verranno considerati esattamente come elementi semplici con le stesse proprietà.
E' possibile disporre di attributi globali o locali.
E' possibile utilizzare un attributo globale in più di una posizione nel modello di messaggio. E' necessario assegnarvi un nome univoco di riferimento.
Un attributo locale viene definito in una posizione all'interno di un tipo complesso e non è disponibile per essere riutilizzato nel modello del messaggio.
E' possibile definire gli attributi come facoltativi, richiesti o non consentiti. Non è consentita la ripetizione degli attributi. Per ulteriori informazioni, fare riferimento a Cardinalità: elementi facoltativi, obbligatori e ripetuti.
E' possibile assegnare a un attributo un valore predefinito da utilizzare se dal messaggio di input manca l'attributo. In alternativa, è possibile definire un valore fisso che l'attributo utilizzerà sempre.
E' possibile vincolare il valore di un attributo utilizzando i vincoli di valore che definiscono l'intervallo di valori legali per l'attributo. I vincoli di valore sono in realtà associati al tipo semplice su cui è basato l'attributo. Per ulteriori dettagli, fare riferimento a Oggetti modello di messaggio: tipi semplici.
Nel file di definizione dei messaggi, un attributo viene modellato come una dichiarazione dell'attributo dello schema XML. I valori fissi e predefiniti sono modellati utilizzando un vincolo di valore nell'attributo. I vincoli di valore sono modellati come facet nel tipo semplice dell'attributo.