Générer du XML à l'aide du schéma XML d'Oracle

8

J'ai quelques définitions de schéma XML qui ont été enregistrées à l'aide de DBMS_XMLSCHEMA. J'ai créé des tables en utilisant les XMLTypes générés. Je peux créer du XML à l'aide de XMLQuery et si je comprends bien, les résultats de la requête peuvent être insérés dans la table si la définition est correcte.

En fin de compte, le XML doit être écrit dans un fichier, mais la partie dont je ne suis pas sûr est de savoir si l'écriture de XMLQueries à partir de zéro est le meilleur moyen de générer le XML. Existe-t-il un moyen pour que le schéma XML génère un stub XML pour un guide ou génère un modèle XMLQuery? Les données sont actuellement toutes dans des tables Oracle standard, mais organisées de manière très différente, donc toute information sur la facilitation de l'exportation vers XML basée sur un ensemble spécifique de schémas enregistrés serait utile.

Leigh Riffel
la source
Je pense qu'il y a un moyen de le faire si vos tables correspondent à votre schéma (je pense qu'il y a même un moyen de générer des tables basées sur un schéma). Si vos tables sont structurées différemment, vous devrez probablement écrire des requêtes pour transformer les données en XML.
FrustratedWithFormsDesigner
Je peux générer une table basée sur le schéma, mais ce n'est qu'une table d'une colonne XMLType. C'est ce que vous vouliez dire?
Leigh Riffel
@LeightRiffel: Non, je suis à peu près sûr qu'il y avait un projet il y a quelques années où le DBA a utilisé une sorte d'outil Oracle pour générer des tables dont les structures et les relations correspondaient au schéma. Je ne me souviens pas du nom de l'outil et il est possible qu'il ne fonctionne pas avec tous les schémas, mais il est quelque part. Sinon, c'est un travail manuel d'écriture de requêtes pour masser les données de base de données "normales" dans des structures XML. Vous aviez encore besoin de requêtes lorsque les tables correspondaient au schéma, mais elles étaient beaucoup plus simples. Avez-vous essayé de chercher / demander sur StackOverflow?
FrustratedWithFormsDesigner
Chercher oui, demander, non. Il semble qu'il existe des outils qui effectuent la conversion, mais je n'ai rien trouvé dans Oracle.
Leigh Riffel
Vraiment? Hm. Je pensais que le DBA a dit que c'était quelque chose dans Oracle. Il est possible qu'il ait un script personnalisé qui crée des tables à partir de schémas à l'aide d'autres fonctions Oracle. Il n'est pas là pour le moment pour demander, désolé.
FrustratedWithFormsDesigner

Réponses:

1

Il est assez direct de pousser une sélection déjà existante vers XML: http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm#i1028612

La création de XML fait partie des spécifications SQL de base et est disponible sur la plupart des serveurs. Vous pouvez consulter la version de SQL Server ici: http://blog.sqlauthority.com/2009/02/12/sql-server-simple-example-of-creating-xml-file-using-t-sql/

MarkWalls
la source
C'est là que nous nous sommes retrouvés; il suffit de créer le code XMLQuery à partir de zéro.
Leigh Riffel