13.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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,

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

Saved successfully!

Ooh no, something went wrong!