I documenti di istanza XML e gli schemi XML sono in grado di utilizzare gli spazi dei nomi. Gli spazi dei nomi forniscono un metodo di qualificazione dei nomi oggetto.
Un documento di istanza XML singolo è in grado di contenere elementi e attributi definiti per le applicazioni multiple e da esse utilizzate. E' possibile che per due elementi o attributi differenti all'interno dello stesso documento sia necessario utilizzare lo stesso nome. E' necessario che le applicazioni individuali siano in grado di riconoscere gli elementi e gli attributi da elaborare. In tali circostanze, è possibile distinguere le definizioni qualificando ciascun elemento con spazio dei nomi differente. Con questa modalità vengono evitati problemi di di errato riconoscimento e di conflitto dei nomi.
E' possibile definire uno spazio dei nomi di destinazione mediante gli schemi XML. I tipi, i gruppi, gli attributi e gli elementi globali definiti in uno schema XML sono qualificati dallo spazio dei nomi di destinazione se questo è stato definito. E' inoltre possibile qualificare in modo facoltativo attributi ed elementi locali mediante lo spazio dei nomi di destinazione. Gli spazi dei nomi sono quindi utili nello sviluppo di una libreria degli schemi XML che è possibile sviluppare in modo indipendente. Se il nome dello spazio dei nomi utilizzato per uno schema XML è univoco, non è necessario che uno sviluppatore presti attenzione ai conflitti di nome con oggetti definiti in altri schemi XML.
L'ambito di uno spazio dei nomi si estende oltre il documento che lo contiene ed è identificato da un URI (Uniform Resource Identifier). Per raggiungere tale obiettivo, è necessario che un URI sia univoco. E' possibile che si conosca il concetto di URL (Universal Resource Locator). Gli URI spesso utilizzano la stessa sintassi degli URL, sebbene la definizione URI sia più ampia della specifica di un URL. Un URI di esempio è: http://mycompany.com/xml_schema
Un prefisso di nome spazio è dichiarato come abbreviazione del nome completo dell'URI e viene utilizzato per qualificare tutti gli elementi di appartenenza allo spazio dei nomi. Il prefisso da sostituire di uno spazio dei nomi in un documento di istanza XML o in uno schema XML viene specificato utilizzando un attributo xmlns o xmlnsc. E' inoltre possibile definire uno spazio dei nomi predefinito utilizzando un attributo xmlns o xmlnsc. Se è definito uno spazio dei nomi predefinito, qualsiasi elemento o attributo senza prefisso è qualificato con lo spazio dei nomi predefinito. Se non è definito uno spazio dei nomi predefinito, qualsiasi elemento o attributo senza prefisso non è qualificato con uno spazio dei nomi.
E' possibile che in una serie di messaggi singola per la quale sono abilitati spazi dei nomi sia contenuto un numero di spazi dei nomi differenti. Ogni spazio dei nomi è rappresentato da un differente file di definizione dei messaggi. Quando si crea un file di definizione dei messaggi, è possibile scegliere se associarvi uno spazio dei nomi o se situarlo nello spazio dei nomi notarget. Se si sceglie di associare uno spazio dei nomi a un file di definizione dei messaggi, è necessario inoltre scegliere un prefisso.
Se al file di definizione dei messaggi è associato uno spazio dei nomi, i seguenti oggetti globali sono qualificati con lo spazio dei nomi:
E' possibile qualificare in modo facoltativo attributi ed elementi locali con lo spazio dei nomi.
Gli oggetti definiti in un file di definizione dei messaggi sono in grado di fare riferimento a oggetti in altri file di definizione dei messaggi nella stessa serie di messaggi. E' possibile effettuare tale operazione importando o includendo un file di definizione dei messaggi in un altro.
Se si utilizza WebSphere Message Broker e gli spazi dei nomi nella serie di messaggi sono abilitati, il broker non memorizza i valori degli attributi xmlns o xmlnsc nella struttura quando viene effettuata l'analisi di un documento di istanza XML. Non vengono memorizzati neanche i valori degli attributi Ubicazione schema e Nessuna ubicazione dello schema spazi dei nomi. Ciò si verifica poiché quando un documento XML viene scritto, il broker crea nuovamente queste informazioni dalle proprietà di XML Wire Format della serie di messaggi.
Se si utilizza WebSphere Message Broker, la tabella di coppie prefisso/URI dello spazio dei nomi viene utilizzata dal dominio MRM durante l'output di un messaggio XML. Gli elementi e gli attributi qualificati da uno spazio dei nomi dispongono di un prefisso corrispondente a quello contenuto nella tabella. Il broker è inoltre in grado di gestire l'output degli attributi xmlns o xmlnsc che mettono in corrispondenza i prefissi agli spazi dei nomi. E' possibile scegliere se emettere gli attributi xmlns o xmlnsc per tutte le voci nella tabella prefisso/URI spazio dei nomi all'avvio del documento o nel documento quando richiesto.
Se gli spazi dei nomi sono abilitati per una serie di messaggi, in XML Wire Format esiste una tabella di ubicazioni schema che mettono in corrispondenza gli URI dello spazio dei nomi ai nomi file. E' possibile aggiungere voci alla tabella e mettere in corrispondenza un nome file allo spazio dei nomi notarget. Se si utilizza WebSphere Message Broker, la tabella viene utilizzata per emettere gli attributi Ubicazione schema e Nessuna ubicazione dello schema spazi dei nomi all'avvio del documento XML.
Se si utilizza il formato XML nel dominio MRM, gli elementi o gli attributi vengono messi in corrispondenza in base allo spazio dei nomi nel dizionario quando il messaggio analizzato viene messo in corrispondenza con il dizionario creato dal modello di messaggio. Quindi per mettere in corrispondenza un elemento o un attributo in un messaggio con il dizionario, è necessario che il nome e lo spazio dei nomi corrispondano.
Se si usa WebSphere Message Broker, viene fornito supporto per consentire di specificare spazi dei nomi durante la scrittura di ESQL. Non è necessario scrivere ESQL con spazi dei nomi se questi non vengono utilizzati. Tuttavia, se si decide di utilizzare gli spazi dei nomi, i file di definizione dei messaggi sono in grado di utilizzare qualsiasi spazio dei nomi scelto e sarà necessario scrivere ESQL con spazi dei nomi. Lo spazio dei nomi in cui è situato un elemento viene memorizzato nell'albero dei messaggi durante l'analisi. Si tratta di una proprietà logica e viene mantenuta indipendentemente dal formato Wire fisico in cui sono analizzati e scritti i messaggi. E' stata aggiunta nuova sintassi a ESQL per fare riferimento con facilità a spazi dei nomi degli elementi utilizzando prefissi definiti.
Sito Web, all'indirizzo World Wide Web Consortium (W3C) , fare riferimento inoltre a: