XML Extender fornisce le seguenti funzioni per consentire una gestione e una consultazione facilitata dei dati XML con DB2:
Gli strumenti di gestione XML Extender consentono di abilitare il database e le colonne di tabella per XML e di associare i dati XML alle strutture relazionali DB2. XML Extender fornisce diversi strumenti di gestione che variano a seconda delle attività che si desidera eseguire, quali lo sviluppo delle applicazioni, l'esecuzione delle attività di gestione o l'utilizzo di un wizard. E' possibile utilizzare i seguenti strumenti per completare le attività di gestione per XML Extender:
XML Extender fornisce due metodi di accesso e memorizzazione per l'integrazione di documenti XML in DB2: colonna XML e raccolta XML. Questi metodi dispongono di varie funzionalità, ma possono essere utilizzati nella stessa applicazione.
XML Extender fornisce un magazzino DTD (Document Type Definition) XML che corrisponde a una serie di dichiarazioni relative agli elementi e agli attributi XML. Quando un database è abilitato per XML, viene creata una tabella di riferimento DTD (DTD_REF). Ciascuna riga di questa tabella rappresenta una DTD con informazioni sui metadati aggiuntive. Gli utenti possono accedere a questa tabella per inserire le relative DTD. Le DTD della tabella DTD_REF vengono utilizzate per convalidare documenti XML.
Specificare la struttura dei documenti XML per definire la relativa gestione DAD (document access definition). Il DAD è un documento con formato XML. Consente di associare la struttura dei documenti XML a un database DB2 quando si utilizzano le colonne XML o le raccolte XML. La struttura di un DAD è diversa quando si definisce una colonna XML rispetto a una raccolta XML.
I file DAD vengono gestiti utilizzando la tabella XML_USAGE, che viene creata quando si abilita un database per XML.
Poiché XML contiene tutte le informazioni necessarie per la creazione di una serie di documenti, potrebbe essere necessario memorizzare e mantenere la struttura attuale del documento.
Per una società di pubblicazione di notizie, ad esempio, che pubblica articoli sul Web, potrebbe essere necessario archiviare gli articoli pubblicati. In questo tipo di scenario, XML Extender consente di memorizzare tutti o parte degli articoli XML in una colonna di una tabella DB2. Questo tipo di memoria dei documenti XML viene denominato colonna XML, come mostrato in Figura 1.
Figura 1. Memorizzazione dei documenti XML strutturati in una colonna di tabella DB2
![]() |
XML Extender fornisce i seguenti UDT (user-defined type) per l'utilizzo con le colonne XML:
Tutti gli UDT XML Extender presentano il prefisso db2xml, che rappresenta il nome schema degli UDT XML Extender DB2. Questi tipi di dati vengono utilizzati per identificare il tipo di memorizzazione dei documenti XML nella tabella dell'applicazione. XML Extender supporta i file flat; non è richiesta la memorizzazione dei documenti XML in DB2. E' inoltre possibile memorizzare documenti XML come file sul file system locale, come specificato nel nome file locale.
DB2 XML Extender fornisce UDF (user-defined function) di alte prestazioni per la memorizzazione e il richiamo di documenti XML nelle colonne XML e per l'estrazione di valori di attributi o elementi XML. L'UDF è una funzione definita nel sistema di gestione del database a cui è possibile far riferimento nelle interrogazioni SQL. XML Extender fornisce i seguenti tipi di UDF:
Le funzioni di estrazione consentono di eseguire potenti ricerche su tipi di dati SQL generici. E' inoltre possibile utilizzare DB2 UDB Text Extender con XML Extender per eseguire ricerche complete o strutturali nel testo dei documenti XML. Questa potente funzione di ricerca può essere utilizzata, ad esempio, per migliorare l'utilizzo di un sito Web su cui viene pubblicata un'elevata quantità di testo, come articoli di giornale o applicazioni EDI (Electronic Data Interchange), contenenti elementi o attributi in cui vengono effettuate frequentemente le ricerche.
Tutte le UDF XML Extender presentano il prefisso db2xml, che rappresenta il nome schema delle UDF XML Extender DB2. Le UDF vengono applicate agli UDT XML e vengono utilizzate per le colonne XML.
Un percorso di ubicazione è una sequenza di tag XML che identifica un elemento o attributo XML. XML Extender utilizza il percorso di ubicazione per identificare la struttura del documento XML, indicando il contesto dell'elemento e dell'attributo. Il percorso con singola barra (/) indica che il contesto è un documento intero. Il percorso di ubicazione viene utilizzato per i seguenti scopi:
La Figura 2 mostra un esempio di percorso di ubicazione e delle relative relazioni alla struttura del documento XML.
Figura 2. Memorizzazione dei documenti come documenti XML strutturati in una colonna di tabella DB2
![]() |
Per specificare il percorso di ubicazione, XML Extender utilizza una serie secondaria di XSLT (XML Stylesheet Language Transformation) e XPath (XML Path Language). Questo manuale utilizza il termine percorso di ubicazione, che è definito nella specifica di XPath. Il percorso di ubicazione è una sequenza di tag XML che identificano un elemento o un attributo XML. In questo manuale si utilizza inoltre la sintassi abbreviata per XSLT o XPath del percorso di ubicazione assoluto, specificato nelle specifiche XPath. Il percorso di ubicazione assoluto corrisponde al nome percorso completo di un oggetto.
XSLT è un linguaggio per la trasformazione di documenti XML in altri documenti XML. E' progettato per l'utilizzo come parte di XSL (XML Stylesheet Language) che è un linguaggio di fogli di stile per XML. Oltre a XSLT, XSL include un dizionario XML per la specifica del formato. XSL specifica lo stile di un documento XML utilizzando XSLT per descrivere le modalità in cui il documento viene trasformato in un altro documento XML che utilizza il dizionario di formattazione.
XPath è il linguaggio per l'indirizzamento di parti di un documento XML, progettato per l'utilizzo da parte di XSLT. Ciascun percorso di ubicazione può essere espresso utilizzando la sintassi definita per XPath.
Per ulteriori informazioni su XSLT e XPath, consultare le seguenti pagine Web:
Per la sintassi e le restrizioni, consultare la sezione Percorso di ubicazione.
Questa sezione descrive i concetti e la terminologia XML cui si fa riferimento in questo manuale.
I dati SQL tradizionali vengono scomposti dai documenti XML in entrata oppure vengono utilizzati per comporre documenti XML in uscita. Se si desidera condividere i dati con altre applicazioni, potrebbe essere necessario comporre e scomporre documenti XML in entrata e in uscita e gestire i dati per sfruttare al meglio le funzionalità relazionali di DB2. Questo tipo di memoria dei documenti XML viene denominato raccolta XML.
Un esempio di raccolta XML è presente in Figura 3.
Figura 3. Memorizzazione dei documenti come dati privi di tag nelle tabelle DB2
![]() |
La raccolta XML è definita in un file DAD, che specifica le modalità di associazione degli elementi e degli attributi a una o più tabelle relazionali. E' possibile definire il nome di una raccolta eseguendone l'abilitazione, quindi utilizzandola con le procedure memorizzate per comporre o scomporre documenti XML.
Quando si definisce una raccolta nel file DAD, è possibile utilizzare uno dei due tipi di schemi di associazione, associazione SQL e associazione RDB_node. L'associazione SQL utilizza istruzioni SQL SELECT per definire le tabelle e le condizioni utilizzate da DB2 per la raccolta. L'associazione RDB_node utilizza un RDB_node basato su XPath per definire le tabelle, le colonne e le condizioni.
Vengono fornite procedure memorizzate per la composizione o la scomposizione di documenti XML. Le procedure memorizzate utilizzano il prefisso db2xml, che corrisponde al nome schema di XML Extender. Utilizzare le seguenti procedure memorizzate con le raccolte XML:
I seguenti termini sono univoci in XML Extender e vengono utilizzati frequentemente in questo manuale.