Le développement de XML avait comme objectif, entre autres, de permettre l'échange de données entre différents types de stockage. Si l'on écrit des procédures stockées visant à exporter des données à partir de SQL Server, peut-être au moyen de DTS (Data Transformation Services), on voudra convertir le XML dans le
Une autre solution : XSLT
format
cible requis, en utilisant le support
XML de SQL Server. La manière dont
Microsoft met en oeuvre XML dans SQL
Server ne rend pas cette conversion facile
pour certains types de structures
de données, même si c’est faisable.
De nombreuses architectures de
projet exigent une solution exclusivement
SQL Server, pour la production
de XML. Mais il est toujours important
de voir les choses sous un champ plus
large. Si, par exemple, vous avez un
frontal VB (Visual Basic) ou si vous utilisez
XSLT (Extensible Style Language
Transformations) pour transformer les
données, il pourrait être plus facile de
renvoyer les données XML sous forme
de XML « plat » (non hiérarchique),
puis de les convertir en XML hiérarchique
ailleurs. Pour illustrer cette
technique, voyons brièvement une solution
qui utilise XSLT.
Pour générer des données XML
plates, on peut utiliser une instruction
FOR XML RAW T-SQL simple, comme
le montre le listing 6. Si l’on exécute ce
code dans Query Analyzer, on obtient
le XML de la figure 8. Bien que le résultat
ne soit pas du XML hiérarchique, il
contient l’attribut supplémentaire
ReportsToEmployeeID, qui fournit l’information
hiérarchique. Les analyseurs
syntaxiques XML peuvent interpréter
cette information directement – en la
traitant comme simplement un autre
attribut – donc, il faut convertir le XML
plat en XML hiérarchique à l’aide de
l’attribut ReportsToEmployeeID.
Les techniques récursives de XSLT
facilitent grandement la conversion. En
effet, XSLT offre de nombreux moyens,
d’efficacité variable, de convertir les
données. Le code que montre le listing
7 est un moyen possible, très court. Si
vous utilisez MS-XML 3.0 pour transformer
le XML de la figure 8 et le XSLT du
listing 7, vous obtenez la structure XML
que montre la figure 9 (quelque peu
mise en ordre par souci de clarté).
Le XSL a deux modèles. Le premier
correspond à tous les noeuds de niveau
supérieur (c’est-à -dire, tous les noeuds
dans lesquels ReportsToEmployeeID
est égal à EmployeeID). Le second modèle
évalue récursivement tous les
autres noeuds. Notez l’ajout des tags
XML est bien formé. Pour plus d’informations
sur XSLT, voir le livre XSLT
Quickly par Bob Ducharme (Manning,
2001).
Téléchargez cette ressource

Rapport mondial 2025 sur la réponse à incident
Dans ce nouveau rapport, les experts de Palo Alto Networks, Unit 42 livrent la synthèse des attaques ayant le plus impacté l'activité des entreprises au niveau mondial. Quel est visage actuel de la réponse aux incidents ? Quelles sont les tendances majeures qui redessinent le champ des menaces ? Quels sont les défis auxquels doivent faire face les entreprises ? Découvrez les top priorités des équipes de sécurité en 2025.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les banques passent à l’action avec l’IA générative et le cloud
- DSI en assurance : gardien du temple ou moteur de la transformation ?
- Ransomware : persistance des cyberattaques à l’échelle mondiale
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
