SQL/XML est une extension XML du langage SQL (Structured Query Language) qui permet d'extraire des données relationnelles en utilisant une syntaxe SQL étendue, et de produire un résultat en utilisant un format XML.
Les cinq fonctions principales de SQL/XML sont les suivantes :
XMLELEMENT - pour éditer un élément avec un nom, une liste d'attributs (facultative) et une liste de valeurs (facultative).
XMLATTRIBUTES - pour éditer une liste d'attributs avec des noms et des valeurs.
XMLAGG - pour éditer sur plusieurs lignes une concaténation d'éléments, depuis une seule valeur XML correspondant à une seule colonne.
XMLCONCAT - pour éditer sur une même ligne une concaténation d'éléments, depuis plusieurs valeurs XML correspondant à plusieurs colonnes.
XMLFOREST - pour éditer sur une même ligne une concaténation d'éléments, depuis plusieurs valeurs SQL correspondant à plusieurs colonnes. Le nom et la valeur d'une colonne devient le nom et la valeur d'un élément.
Un modèle XML permet de générer des requêtes SQL/XML pour des éléments globaux, quel que soit le langage XML cible (XSD, DTD ou XDR). Vous devez commencer par établir une correspondance entre un modèle XML et un MPD, puis attacher la définition étendue de modèle SQL/XML au modèle XML mis en correspondance.
Le meilleur moyen pour mettre en correspondance un modèle XML et un MPD consiste à utiliser l'Assistant Générateur XML à partir d'un MPD. Le modèle XML généré est automatiquement mis en correspondance avec le MPD et lié à la définition étendue de modèle SQL/XML. Si nécessaire, vous pouvez modifier cette correspondance via l'onglet Correspondance des feuilles de propriétés d'éléments et de types complexes.
Pour plus d'informations sur l'Assistant Générateur XML, reportez-vous à la section "Génération d'un modèle XML via l'Assistant Générateur XML", dans le chapitre Gestion des modèles du manuel Modélisation des données.
Les requêtes SQL/XML générées ne peuvent pas être paramétrées.
La procédure suivante suppose que vous avez ouvert un modèle XML dans l'espace de travail et que vous l'avez mis en correspondance avec un MPD.