Capitolo III: Definizione del tipo di documento (DTD) |
Spazio dei nomi XML (XML Namespace) Come sappiamo XML è un linguaggio per definire linguaggi, cioè insiemi di marcatori personalizzati e le loro sintassi di utilizzo. Questa operazione avviene attraverso i DTD che definiscono gli insiemi di marcatori che saranno utilizzati nei documenti e le loro regole di nidificazione. I marcatori XML che saranno definiti nei DTD adottati sui siti Web possono anche non essere inventati dai Webmaster, ma possono appartenere a repertori standard per i vari domini applicativi (i cosiddetti XML namespace), garantendo luniformità sintattica delle pagine Web necessaria al funzionamento degli agenti. I Namespace permettono la creazione e luso di marcatori ambigui, ovvero con lo stesso nome, ma in riferimento a significati e ambienti diversi utilizzando costrutti con nomi non equivoci. Pensiamo per esempio a documenti di una rivista in cui la parola "titolo" a secondo del contesto può referenziare il titolo di una rivista, ma anche il ruolo di un giornalista allinterno della struttura aziendale. I dati, ovvero il contenuto di un documento XML, vengono recuperati analizzando i singoli nodi allinterno del documento, meccanismo consentito dal fatto che la struttura gerarchica dei documenti XML e le regole di validità e di ben formato che gestiscono la creazione dei documenti XML garantiscono che ogni nodo presente in un documento è unico. Questo garantisce a sua volta che esista un solo riferimento per ciascun nodo. Lutilizzo di documenti XML in un ambiente di collaborazione potrebbe tuttavia dare luogo a potenziali problemi. Ad esempio, due o più documenti potrebbero contenere elementi con gli stessi nomi, ma con semantica differente. I documenti possono essere strutturati nello stesso modo. Qualora fosse necessario utilizzare entrambi i documenti in un unico ambiente, la sovrapposizione di elementi sarebbe causa di confusione. Consideriamo ad esempio: <AUTOMOBILE> <ID>232-HDF</ID> </AUTOMOBILE> <DOG> <ID>Rover</ID> </DOG> Gli elementi Automobile e Dog contengono un elemento Id ciascuno, ma tale Id assume significato differente nei due casi. Se questi elementi provenienti da fonti diverse sono stati combinati in un solo documento, gli elementi Id perdono il significato originale. Questo problema, tuttaltro che trascurabile, potrebbe aggravarsi parallelemente alla diffusione dellutilizzo del linguaggio XML sul Web e nelle organizzazioni. La soluzione è offerta dagli spazi dei nomi, che consentono di creare nomi univoci indipendentemente dalla posizione in cui gli elementi vengono utilizzati, garantendo luniformità sintattica delle pagine Web. |