13.07.2013 Views

dans des entrepôts de données XML - CoDE - Université Libre de ...

dans des entrepôts de données XML - CoDE - Université Libre de ...

dans des entrepôts de données XML - CoDE - Université Libre de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPITRE 6. GÉNÉRATEUR AUTOMATIQUE DE FICHIER XSLT 37<br />

value-of permet d’extraire la valeur du noeud sélectionné. On utilise l’élement<br />

<br />

dont l’attribut select précise ce qu’il faut sélectionner.<br />

if permet <strong>de</strong> tester une condition. On fait usage <strong>de</strong> l’élément<br />

<br />

dont l’attribut test indique l’expression à tester.<br />

apply-templates permet d’appliquer un template à l’élément courant ou aux noeuds <strong><strong>de</strong>s</strong>cendants.<br />

L’élement utilisé est<br />

<br />

6.4 Pourquoi XSLT et pas XQuery ?<br />

Nous avons préféré d’utiliser XSLT <strong>dans</strong> notre ETL pour les raisons suivantes.<br />

– XSLT utilise la synthaxe <strong>XML</strong>. C’est un document bien formé. Il est donc facilement<br />

extensible.<br />

– Historiquement, XQuery a été conçu pour être un langage <strong>de</strong> requêtes alors que XSLT<br />

est fait pour les transformations. La transformation est sans doute, la partie la plus<br />

difficile <strong>dans</strong> un processus ETL.<br />

– XSLT s’adapte facilement aux systèmes fonctionnant en pipeline [6].<br />

– La version 1.0 <strong>de</strong> XSLT est une recommandation W3C <strong>de</strong>puis 1999 et la 2.0 vient d’être<br />

recommandée en janvier 2007 alors que XQuery 1.0 n’est recommandée qu’en janvier<br />

2007 2 .<br />

– XSLT permet <strong>de</strong> parcourir tout le document source alors XQuery ne vise que certaines<br />

<strong>de</strong> ses parties .<br />

– Le concept <strong>de</strong> template présent <strong>dans</strong> XSLT n’existe pas <strong>dans</strong> XQuery [6]. les ”templates”facilitent<br />

l’écriture <strong><strong>de</strong>s</strong> règles <strong>de</strong> transformation.<br />

– XSLT 2.0 inclut le formatage <strong><strong>de</strong>s</strong> nombres, dates et heures [6]. Ainsi, on pourrait par<br />

exemple, convertir le nombre 1127 en 1.127,00. Chose qu’on ne pourrait pas faire avec<br />

XQuery du moins pour le moment.<br />

– Les 2 langages sont basés sur les expressions XPath.<br />

Fondamentalement, il n’y a pas <strong><strong>de</strong>s</strong> gran<strong><strong>de</strong>s</strong> différences entre les <strong>de</strong>ux langages mais sur le<br />

plan fonctionnel, XSLT 2.0 offre plus <strong>de</strong> possibilité que XQuery [6]. Actuellement, on admet<br />

aussi que le XSLT est plus adapté pour la manipulation <strong><strong>de</strong>s</strong> documents.<br />

Nous choisissons donc XSLT parce que tant à la source qu’à la <strong><strong>de</strong>s</strong>tination, nous avons affaire<br />

avec <strong><strong>de</strong>s</strong> documents <strong>XML</strong>. Le choix <strong>de</strong> XQuery se fera :<br />

– <strong>dans</strong> le traitement <strong><strong>de</strong>s</strong> schémas en vue <strong>de</strong> créer une interface où l’utilisateur pourrait<br />

choisir ses correspondances (Mapping Interface) et<br />

– <strong>dans</strong> l’extraction <strong>de</strong> la structure définie par le schéma XSD en vue <strong>de</strong> la montrer à<br />

l’utilisateur.<br />

Ce choix s’explique aussi par le fait que XQuery s’incorpore plus facilement <strong>dans</strong> les langages<br />

<strong>de</strong> programmation comme le PHP.<br />

2 voir http://fr.wikipedia.org/wiki/XQuery

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!