Oracle 9i2 est un serveur de base de données doté d'un stockage en XML natif et d'une technologie d'interrogation appelée Oracle XML DB. Il n'existe aucune correspondance entre XML et les données relationnelles. Les tables, les colonnes et les types de données abstraits sont créés à partir des schémas annotés (fichiers XSD). Un schéma annoté est un fichier XML ayant un langage XML comme langage cible et comportant des annotations spécifiques au SGBD qui permettent de stocker ou d'extraire des données au format XML depuis des bases de données relationnelles prenant en charge XML.
Un modèle XML permet de générer un schéma annoté (XSD) pour Oracle 9i2. Oracle 9i2 utilise par défaut le nom des éléments XML présents dans le schéma annoté afin de générer des objets SQL. Vous pouvez prendre le pas sur la création des objets SQL en définissant des attributs étendus pour les éléments, des types complexes et le modèle XML.
Annotation |
Description |
---|---|
beanClassname |
Pour être utilisé avec des déclarations d'élément. Si l'élément est basé sur un complexType global, ce nom doit être identique à la valeur beanClassname au sein de la déclaration de complexType. Si un nom est spécifié par l'utilisateur, la génération du bean va générer une classe bean avec son nom, au lieu de générer un nom à partir du nom de l'élément |
columnProps |
Spécifie la clause de stockage de colonne qui est insérée dans l'instruction CREATE TABLE par défaut. Principalement utile pour les éléments qui sont mis en correspondance avec des tables, tout particulièrement les déclarations d'élément racine et les déclarations de sous-élément |
defaultTable |
Spécifie le nom de la table dans laquelle les instances XML de ce schéma seront stockées. Ceci est surtout utile dans les cas où XML est inséré à partir d'API dans lesquels un nom de table n'est pas spécifié (par exemple, FTP et HTTP) |
javaClassname |
Utilisé pour spécifier le nom d'une classe Java qui est dérivée de la classe bean correspondante, ce afin de s'assurer qu'un objet de cette classe est instancié durant l'accès au bean. Si aucun JavaClassname n'est spécifié, Oracle XML DB va instancier un objet de la classe bean directement |
maintainDOM |
Si True, les instances de cet élément sont stockées de sorte qu'elles retiennent la fidélité DOM en sortie. Ceci implique que tous les commentaires, instructions de traitement, déclarations d'espace de noms etc. soient conservés en plus de l'ordre des éléments. Si False, la sortie n'a pas besoin d'avoir le même comportement DOM que l'entrée |
maintainOrder |
Si True, la collection est mise en correspondance avec un VARRAY. Si False, la collection est mise en correspondance avec une NESTED TABLE |
SQLCollSchema |
Nom de l'utilisateur de la base de données qui possède le type spécifié par SQLCollType |
SQLCollType |
Spécifie le nom du type de collection SQL correspondant à cet élément XML pour lequel maxOccurs > 1 |
SQLInline |
Si True, cet élément est stocké en ligne sous forme d'un attribut imbriqué (ou d'une collection si maxOccurs > 1). Si False, un REF (ou une collection de REF si maxOccurs > 1) est stocké. Cet attribut peut être forcé à False dans certaines situations (telles que des références cycliques) dans lesquelles SQL ne prend pas charge la mise en ligne |
SQLName |
Spécifie le nom de l'attribut au sein de l'objet SQL mis en correspondance avec cet élément XML |
SQLSchema |
Nom de l'utilisateur de base de données qui possède le type spécifié par SQLType |
SQLType |
Spécifie le nom du type SQL correspondant à cette déclaration d'élément XML |
tableProps |
Spécifie la clause de storage TABLE qui est ajoutée à l'instruction CREATE TABLE par défaut. Significatif surtout pour les éléments globaux et les sous-éléments |
Annotation |
Description |
---|---|
beanClassname |
Peut être utilisé au sein de déclarations d'élément. Si l'élément est basé sur un complexType global, ce nom doit être identique à la valeur beanClassname au sein de la déclaration de complexType. Si un nom est spécifié par l'utilisateur, la génération de bean va produire une classe bean ayant ce nom, au lieu de générer un nom à partir du nom de l'élément |
SQLSchema |
Nom de l'utilisateur de base de données qui possède le type spécifié par SQLType |
SQLType |
Spécifie le nom du type SQL correspondant à cette déclaration d'élément XML |
Annotation |
Description |
---|---|
mapUnboundedStringToLob |
Si True, les chaînes non limitées sont mises en correspondance avec CLOB par défaut. De même, les données binaires non limitées sont mises en correspondance avec BLOB par défaut. Si False, les chaînes non limitées sont mises en correspondance avec VARCHAR2(4000), et les composants binaires non limités sont mis en correspondance avec RAW(2000) |
storeVarrayAsTable |
Si True, le VARRAY est stocké sous forme de table (OCT). Si False, le VARRAY est stocké sous forme de LOB |
La boîte de dialogue Résultats s'affiche, avec le chemin du fichier de schéma généré sélectionné.