Requêtes OLAP sur une base de données XML native - Cercle ...
Requêtes OLAP sur une base de données XML native - Cercle ...
Requêtes OLAP sur une base de données XML native - Cercle ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.5 Les DTD et les Schémas <strong>XML</strong> 20<br />
⊲ #CDATA désigne les <strong>données</strong> textuelles qui ne doivent pas être traitées par l’analyseur ;<br />
⊲ EMPTY signifie que l’élément ne peut rien contenir ;<br />
⊲ ANY signifie que l’élément peut contenir ce que l’on veut.<br />
Pour illustrer, analysons l’exemple suivant :<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
]><br />
<br />
L’art <strong>de</strong> l’intrusion <br />
< auteurs ><br />
< personne > Mitnick < prenom >Kevin <br />
< personne >Simon < prenom > William <br />
<br />
<br />
Il s’agit d’un document <strong>XML</strong> vali<strong>de</strong> précédé <strong>de</strong> sa DTD. Cette DTD peut être interprétée comme<br />
suit :<br />
⊲ !DOCTYPE livre définit qu’il s’agit d’un document <strong>de</strong> type livre.<br />
⊲ !ELEMENT livre (titre, auteurs) définit qu’un élément livre doit contenir comme<br />
fils un élément titre et un élément auteurs.<br />
⊲ !ATTLIST livre ISBN CDATA #REQUIRED définit l’attribut ISBN d’un élément livre.<br />
Cet attribut est obligatoire pour chaque livre. S’il n’est pas spécifié, le document ne sera<br />
pas validé.<br />
⊲ !ELEMENT titre #CDATA et les autres lignes similaires définissent que les éléments titre,<br />
nom et prenom doivent contenir <strong>de</strong>s <strong>données</strong> CDATA. Rien d’autre n’est précisé à propos<br />
<strong>de</strong> ces <strong>données</strong>, si ce n’est que ce sont <strong>de</strong>s <strong>données</strong> textuelles.<br />
⊲ !ELEMENT auteurs (personne+) définit qu’un élément auteurs doit être composé d’au<br />
moins un élément personne.<br />
⊲ !ELEMENT personne (nom,prenom) définit qu’un élément personne est composé d’un<br />
élément nom et d’un élément prenom.<br />
Cependant, un <strong>de</strong>s gros défauts <strong>de</strong>s DTD, malgré leur simplicité, est qu’il n’est pas possible<br />
<strong>de</strong> définir <strong>de</strong>s contraintes comme le nombre <strong>de</strong> fois qu’un élément particulier doit apparaître<br />
dans le document, le type <strong>de</strong>s <strong>données</strong> <strong>de</strong> chaque élément, etc. Il faut se rappeler que les DTD<br />
ont été inventées à l’époque du SGML, utilisé pour décrire <strong>de</strong>s documents. Des contraintes<br />
d’instanciation et <strong>de</strong> typage sont moins critiques pour <strong>de</strong>s documents <strong>XML</strong> orientés présentation,