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 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CHAPITRE 5. SCHÉMA <strong>XML</strong> CANONIQUE POUR UN PROCESSUS ETL 31<br />
< xs:element name =" firstname " type =" xs:string "/><br />
< xs:element name =" middlename " type =" xs:string "/><br />
< xs:element name =" lastname " type =" xs:string " use =" require "/><br />
< xs:attribute name =" birthdate " type =" xs:date "/><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Le schéma du listing 5.4 est plus lourd à manipuler. On voit que les éléments man et<br />
woman sont <strong>de</strong> même type mais la manière dont ils sont définis agrandit inutilement l’arbre<br />
du schéma.<br />
Dans un entrepôt <strong>de</strong> <strong>données</strong> <strong>XML</strong>, on peut faire face à <strong><strong>de</strong>s</strong> schémas relativement grands. Il<br />
faut donc éviter <strong><strong>de</strong>s</strong> répétions inutiles pour ne pas perdre trop <strong>de</strong> temps <strong>dans</strong> le traitement <strong>de</strong><br />
XSD. Nous savons aussi qu’une erreur sur le traitement <strong>de</strong> schéma peut avoir <strong><strong>de</strong>s</strong> conséquences<br />
sur :<br />
– l’interface utilisateur : l’interface permettant <strong>de</strong> faire le mapping entre le schéma source<br />
et <strong><strong>de</strong>s</strong>tination<br />
– l’extraction <strong><strong>de</strong>s</strong> <strong>données</strong> à la source et<br />
– le chargement <strong>de</strong> <strong>données</strong> à la <strong><strong>de</strong>s</strong>tination.<br />
Il nous faut donc proposer quelques règles claires permettant d’écrire un XSD <strong>de</strong> façon plus<br />
appropriée au processus ETL et aux <strong>entrepôts</strong> <strong>de</strong> <strong>données</strong> <strong>XML</strong>. Voyons d’abord, en général,<br />
comment écrire un XSD.<br />
5.4 Règles génerales d’écriture d’un XSD<br />
Dans cette section, nous survolons quelques règles d’écriture d’un XSD. Nous ne reprenons<br />
que les points importants dont le rappel nous semble indispensable à la bonne compréhension<br />
<strong><strong>de</strong>s</strong> règles d’écriture d’un schéma canonique. Le lecteur trouvera plus d’informations <strong>dans</strong><br />
[4, 15].<br />
Notons d’abord que l’élément spécial schema () est la racine (Root Element) <strong>de</strong><br />
l’arbre XSD. Pour définir les éléments et/ou les attributs on procè<strong>de</strong> <strong>de</strong> la manière suivante.<br />
– La définition d’un attribut se fait en spécifiant son nom <strong>dans</strong> l’attribut name <strong>de</strong> l’élément<br />
attribute ().<br />
– La définition d’un élément se fait en spécifiant son nom <strong>dans</strong> l’attribut name <strong>de</strong> l’élément<br />
element ().<br />
On distingue <strong>de</strong>ux types d’éléments : le type simple et le type complexe.<br />
5.4.1 Un élément <strong>de</strong> type simple<br />
Un élément <strong>de</strong> type simple ne peut contenir ni autre élément, ni attribut. Il ne peut<br />
contenir que du texte.<br />
L’élément firstname défini <strong>dans</strong> le listing 2.3 (p. 15) par exemple, est <strong>de</strong> type simple :<br />
<br />
De manière générale, on définit un élément <strong>de</strong> type simple comme suit.