Accueil > Expertise > Tester nos experts > SGBD > SQL et modèles XML
SGBD
Comment utiliser les modèles XML avec SQL Server 2000 ?
Les modèles XML sont des documents XML particuliers, qui contiennent un jeu d'instructions Transact-SQL qui s'exécute lors de l'appel de ce fichier par une URL.
En retour, ce fichier contient un flux de données, résultat de l'exécution d'une requête SQL.
L'intérêt des modèles XML réside dans le fait que la requête SQL est stockée une fois pour toute, (comme une procédure stockée), et que la récupération des données s'effectue sans avoir à se soucier des étapes de connexion, de préparation de la requête, et de parcours des résultats, comme c'est le cas dans une page ASP par exemple.
En effet, les modèles XML bénéficient d'une gestion aisée des paramètres. Étant donné l'utilisation du protocole http, le passage de paramètres peut s'effectuer directement par méthode POST, la transmission des paramètres à un modèle XML s'effectue directement depuis un formulaire HTML.
Les modèles XML s'assimilent à un jeu de données, et peuvent se voir adjoindre une feuille de style XSL, qui va prendre en charge le côté présentation des données.
Format d'un modèle XML :
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="Fichier.XSL">
<sql:header>
<sql:param>param_1</sql:param>
...
<sql:param>param_n</sql:param>
</sql:header>
<sql:query>
instruction(s) sql @param_1
</sql:query>
</root>
Exemple de modèle XML avec utilisation d'un paramètre :
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:header>
<sql:param name="NomProc"></sql:param>
</sql:header>
<sql:query>
exec sp_helptext @NomProc
</sql:query>
</root>
Exécution directement par http :
http://miami/sgbd/xml/sp_help.xml?NomProc=sp_xml_preparedocument
Le résultat obtenu est le document XML suivant :
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
(server internal)
</root>
On peut éviter de travailler directement avec l'URL, et utiliser une page HTML avec un formulaire.
Pour cela, on déclare un formulaire HTML dont l'action contient l'URL du modèle XML,
avec la racine virtuelle, et on assigne la méthode de passage de paramètres à POST.
On crée un champ de formulaire pour chaque paramètre pris en compte par le modèle XML (ici un seul), dont le nom est le même que le nom du paramètre du modèle XML.
Bien entendu on effectue les tests de validité d'usage (non présents ici). Lorsque l'utilisateur aura saisi une valeur et cliquera sur le bouton valider, le paramètre sera transmis au modèle XML, et le résultat sera identique à celui produit par la méthode précédente.
Exemple de passage de paramètre par à un modèle XML depuis un formulaire HTML :
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>Test passage de paramètres par POST</TITLE>
</HEAD>
<BODY>
<FORM id=FORM1 name=FORM1 action="http://miami/sgbd/xml/sp_help.xml" method=post>
<input name=NomProc type=text size=40></input>
<input type=submit value=Valider></input>
</FORM>
</BODY>
</HTML>
Pour configurer l'utilisation des modèles XML :
- Dans la boite de dialogue des propriétés de la racine virtuelle, Sous l'onglet Noms virtuels, cliquez sur Nouveau pour créer le nom virtuel pour le type template.
- Dans la boîte de dialogue Configuration du nom virtuel :
- Entrez "XML" par exemple dans la zone Nom virtuel. Dans la liste Type, sélectionnez 'template'. Entrez le chemin physique de stockage des modèles XML sur le serveur.
- Cliquez sur Enregistrer pour enregistrer le nom virtuel.
Haut de page