Genera XML usando lo schema Oracle XML


8

Ho alcune definizioni di schemi XML che sono state registrate usando DBMS_XMLSCHEMA. Ho creato tabelle usando i XMLTypes generati. Posso creare XML usando XMLQuery e se capisco correttamente, i risultati della query possono essere inseriti nella tabella se la definizione è corretta.

Alla fine l'XML deve essere scritto su un file, ma la parte di cui non sono sicuro è se scrivere XMLQueries da zero è il modo migliore per generare l'XML. Esiste un modo per fare in modo che lo schema XML generi uno stub XML per una guida o generi XMLQuery modello? I dati sono attualmente tutti in normali tabelle Oracle, ma disposti in modo abbastanza diverso, quindi qualsiasi informazione su come facilitare l'esportazione in XML basata su un insieme specifico di schema registrato sarebbe utile.


Penso che ci sia un modo per farlo se le tue tabelle corrispondono al tuo schema (penso che ci sia anche un modo per generare tabelle basate su uno schema). Se le tabelle sono strutturate in modo diverso, probabilmente dovrai scrivere query per trasformare i dati in XML.
FrustratedWithFormsDesigner,

Posso generare una tabella basata sullo schema, ma è solo una tabella di una colonna XMLType. È quello che volevi dire?
Leigh Riffel,

@LeightRiffel: No, sono abbastanza sicuro che ci fosse un progetto qui un paio di anni fa in cui il DBA usava una sorta di strumento Oracle per generare tabelle le cui strutture e relazioni corrispondevano allo schema. Non ricordo il nome dello strumento ed è possibile che non funzioni con tutti gli schemi, ma è là fuori da qualche parte. Altrimenti, è un lavoro manuale di scrivere query per massaggiare i dati "normali" del database in strutture XML. Avevi ancora bisogno di query quando le tabelle corrispondevano allo schema, ma erano molto più semplici. Hai provato a cercare / chiedere su StackOverflow?
FrustratedWithFormsDesigner,

Cercando sì, chiedendo, no. Sembra che ci siano strumenti che eseguono la conversione, ma non ho trovato nulla integrato in Oracle.
Leigh Riffel,

Veramente? Hm. Pensavo che il DBA avesse detto che era qualcosa in Oracle. È possibile che avesse uno script personalizzato che creava tabelle da schemi usando altre funzioni Oracle. Al momento non è in giro per chiedere scusa.
FrustratedWithFormsDesigner,

Risposte:


1

È abbastanza diretto inviare un XML esistente già selezionato: http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm#i1028612

La creazione di XML fa parte delle specifiche SQL di base ed è disponibile sulla maggior parte dei server. Puoi controllare la versione di SQL Server qui: http://blog.sqlauthority.com/2009/02/12/sql-server-simple-example-of-creating-xml-file-using-t-sql/


Ecco dove siamo finiti; basta creare il codice XMLQuery da zero.
Leigh Riffel,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.