XML Namespace - la regola degli spazi nei nomi

Questo particolare argomento è strettamente legato alla realizzazione di fogli di stile Xsl, ma ho ritenuto opportuno separarlo, almeno visivamente, da detta lezione per sottolineare la sua importanza.

Essendo l'Xml un linguaggio i cui Tag vengono inventati dallo sviluppatore, è facile talvolta cadere in inopportuni errori che possono generare conflitti, ad esempio attribuire uno stesso nome a più elementi distinti.

Gli scettici potranno affermare che basta un po di attenzione per evitare che questo accada, ma spesso capita che per forza di cose due elementi, magari anche di due file diversi che si rifanno ad una stessa applicazione, debbano avere lo stesso nome.

A porre rimedio a questo problema ci pensa l'Xml Namespace, con l'attributo xmlns, prendiamo ad esempio l'Xsl della lezione precedente ed isoliamo solo la parte che ci interessa:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

la cui forma è standard.

Per intenderci prendiamo ad esempio un qualsiasi codice di un documento Xml:

<?xml version="1.0"?>

<amici>
   <amico>
      <nome>Luca</nome>
      <cognome>Ruggiero</cognome>
   </amico>
</amici>

Utilizziamo ora i Namespace:

<?xml version="1.0"?>

<A:amici>
   <A:amico>
      <A:nome>Luca</A:nome>
      <A:cognome>Ruggiero</A:cognome>
   </A:amico>
</A:amici>

Notiamo la differenza del precedente file Xml con quello proposto di seguito:

<?xml version="1.0"?>

<B:amici>
   <B:amico>
      <B:nome>Luca</B:nome>
      <B:cognome>Ruggiero</B:cognome>
   </B:amico>
</B:amici>

Le forme A: e B: forniscono il reale rimedio per la differenziazione degli elementi in questione, lasciano comunque il nome originale all'elemento ma non confondendo il parser Xml nell'interpretazione dei documenti se richiamati insieme in una stessa applicazione, evitando quindi un errore.

Autore: Luca Ruggiero