Edité le 11 juin 2002 <strong>Etude</strong> <strong>exploratoire</strong> <strong>XML</strong> / <strong>SVG</strong> CERTUOn peut tout d’abord noter qu’un schéma xml est exprimé en syntaxe <strong>XML</strong>. Cela permet d’avoir unemeilleure cohérence entre les données et leur description, mais surtout cela permet de valider un schéma <strong>XML</strong>avec les mêmes outils qu’on utilise pour valider un document. Cela procure un avantage non négligeable parrapport aux DTD.Le second avantage réside dans les possibilités offertes par les schémas <strong>XML</strong> pour décrire des types dedonnées et les appliquer aux éléments et aux attributs. Prenons comme exemple le type « NumArticle » :L’élément indique que l’on décrit ici un type non composé, c’est à dire qui necontient pas d’attributs ni d’éléments. indique qu’il s’agit d’une restriction d’un type prédéfini,ici un entier positif. La restriction qui s’applique est que sa valeur minimale est 1 et sa valeur maximale est 15.Les déclarations d’éléments se font de la même façon, en déclarant l’élément par la balise, puis en déclarant son type.Cet élément est de type complexe car il contient d’autres éléments, ici un ensemble d’éléments« secteur » et un élément « texte ». On peut définir précisément le nombre d’occurrences de chaque élémentgrâce aux attributs « minOccurs » et « maxOccurs ».Cet exemple montre bien l’intérêt des schémas <strong>XML</strong> par rapport aux DTD pour définir la structure etles types d’un document <strong>XML</strong>. Il ne s’agit bien sûr pas d’une description exhaustive. Les liens suivantspermettent de trouver des informations plus complètes sur les schémas <strong>XML</strong>, qui font l’objet d’unerecommandation du W3C depuis le 2 Mai 2<strong>001</strong>.http://www.w3.org/<strong>XML</strong>/Schema : Spécifications des schémas <strong>XML</strong>http://xmlfr.org/documentations/tutoriels/<strong>001</strong>218-0<strong>001</strong> : Un tutoriel en français sur les schémas <strong>XML</strong>SWORD - Nos réf. : <strong>IDL</strong>_<strong>CERTU1</strong>/<strong>ETU</strong>_<strong>001</strong> / <strong>1.1</strong> Diffusion : contrôlée Page : 22/81
Edité le 11 juin 2002 <strong>Etude</strong> <strong>exploratoire</strong> <strong>XML</strong> / <strong>SVG</strong> CERTU2.4.1.6 Comparaison entre DTD et schéma <strong>XML</strong> et préconisationsAvantagesInconvénientsDTD+ Simplicité+ Compacité+ Technique déjà éprouvée par SGML- Typage faible- Syntaxe non <strong>XML</strong>Schéma <strong>XML</strong>+ Syntaxe <strong>XML</strong>+ Nombreux types prédéfinis+ Types adaptables par restriction ouextension- Syntaxe relativement lourde- Technique encore jeuneLes DTD sont tout à fait adaptées pour décrire la structure de documents. Les schémas <strong>XML</strong> sepositionnent plutôt sur l’aspect description de données. C’est le principal point dont il faut tenir compte lors duchoix de l’utilisation de l’une ou l’autre des technologies. Si on prévoit d’utiliser <strong>XML</strong> pour structurer desdocuments afin de les présenter sur différents médias, alors les DTD sont mieux adaptées. Si on utilise <strong>XML</strong>pour stocker ou transporter des données sur lesquelles on souhaite effectuer des traitements, alors nouspréconisons l’utilisation de schémas <strong>XML</strong>.Une fois que l’on a pris en compte ces aspects fondamentaux, il faut savoir que les schémas <strong>XML</strong>permettent de décrire tout ce qui peut être décrit par une DTD. De plus, il semble que la tendance générales’oriente vers les schémas <strong>XML</strong> plutôt que vers les DTD. Dans le doute, mieux vaut donc utiliser des schémas<strong>XML</strong>.Les langages qui font l’objet d’une recommandation du W3C disposent pour la plupart d’une DTD. Parexemple, la DTD du langage <strong>SVG</strong> que nous allons étudier maintenant est disponible à l’adresse suivante :http://www.w3.org/TR/2<strong>001</strong>/REC-<strong>SVG</strong>-2<strong>001</strong>0904/DTD/svg10.dtd : DTD du langage <strong>SVG</strong> 1.02.4.2 Document <strong>SVG</strong> : Zones et secteurs géographiques2.4.2.1 Présentation de <strong>SVG</strong>Le format <strong>SVG</strong> (Scalable Vector Graphics) est un langage <strong>XML</strong> destiné à décrire des graphiquesvectoriels. En utilisant un visualisateur adapté, on peut afficher ces graphiques, zoomer ou se déplacer dansceux-ci, et les lier avec des informations textuelles ou d’un autre type. <strong>SVG</strong> permet également d’intégrer etd’afficher des images raster et du texte.Voici un résumé des possibilités offertes par <strong>SVG</strong> :- Dessin de formes vectorielles simples ou complexes (lignes, ellipses, polygones, courbes, …),- Dessin de texte avec différentes polices et différents styles,- Styles de traits et de remplissages personnalisables (motifs, gradients de couleurs, …),- Intégration de feuilles de style pour appliquer le même style à tous les objets d’une certaine classe,- Intégration d’images raster,- Animations,- Filtres,SWORD - Nos réf. : <strong>IDL</strong>_<strong>CERTU1</strong>/<strong>ETU</strong>_<strong>001</strong> / <strong>1.1</strong> Diffusion : contrôlée Page : 23/81