Valid XHTML     Valid CSS2    

Développement Web et représentation de données :

Technologie XML, DTD, XSD et XSL ;

applications à la bureautique et à la bioinformatique

Exercices corrigés, série 2 : vérification et validation XML

                     gilles.hunault "at" univ-angers.fr

 

Table des matières cliquable

  1. Ecriture de grammaires élémentaires

  2. Grammaires moins élémentaires

  3. Lecture de grammaires courantes de petite taille

  4. Lecture de grammaires courantes de grande taille

  5. Conversions entres grammaires DTD et XSD ; vérification de grammaires

  6. Contraintes et facettes dans les schémas XSD

  7. Autres grammaires dont Relax NG ; espaces de noms

  8. Questions diverses

 

Il est possible d'afficher toutes les solutions via ?solutions=1.

 

1. Ecriture de grammaires élémentaires

Ecrire des grammaires DTD élémentaires associées aux fichiers serv00.xml, serv01.xml... serv05.xml de la série 1 d'exercices. On nommera serv00.dtd, serv01.dtd... serv05.dtd les fichiers-grammaires correspondants. Ecrire ensuite les grammaires élémentaires XSD associées.

Ecrire les grammaires DTD élémentaires associées aux fichiers pers01.xml, pers02.xml... pers04.xml de la série 1 d'exercices. On nommera pers01.dtd, pers02.dtd... pers04.dtd les fichiers-grammaires correspondants. Ecrire ensuite les grammaires XSD associées.

Peut-on imposer que les dates de naissance sont des entiers positifs supérieurs à 1870 ?

Idem avec les fichiers fasta01.xml à fasta05.xml puis pour agences03.xml et agences04.xml. Peut-on faire un include des grammaires services et personnes pour créer une grammaire agences ?

Remarque : après avoir écrit «à la main» les grammaires, on pourra essayer de trouver un générateur de tels fichiers au vu d'un fichier XML type.

Solution :  

 

2. Grammaires moins élémentaires

Ecrire les grammaires DTD et XSD associées au fichier dessin.xml de la série 1 d'exercices. On nommera dessin.dtd et dessin.xsd les fichiers-grammaires correspondants. On essaiera de paramétrer l'attribut couleur qui est commun.

Ecrire un fichier minimal ouimaisnon.xml qui est valide pour la grammaire g1.dtd mais non valide pour la grammaire g2.dtd. Fournir ensuite un fichier livre.xml valide pour g2.dtd.

Ecrire une grammaire pour le fichier films2 en DTD puis en XSD. Pourquoi ne peut-on pas parler de la grammaire DTD d'un fichier ?

Solution :  

 

3. Lecture de grammaires courantes de petite taille

Ecrire un fichier cv_minimal.xml minimal valide pour la grammaire cv.dtd.

Quels sont tous les éléments possibles qu'on peut utiliser dans un fichier XHTML 1.0 strict ? Quel élément peut avoir le plus d'attributs ? On commencera par donner leur nombre avant d'en fournir une liste alphabétique.

Comparer les éléments posibles en XHTML 1.0 strict et XHTML 1.0 Transitionnel. Comparer les éléments posibles en XHTML 1.0 strict et HTML 5..

Y a-t-il des grammaires pour les documents Microsoft Office et Open Office/Libre Office ? En DTD ou XSD ? Et au NCBI, pour les formats de données bioinformatiques ? Et pour UNIPROT ? Et pour EMBL-EBI ?

Solution :  

 

4. Lecture de grammaires courantes de grande taille

Quels sont tous les éléments possibles qu'on peut utiliser dans un fichier SVG selon la norme SVG 1.1 du 16 aout 2011 ? Quel élément peut avoir le plus d'attribut ? On commencera par donner leur nombre avant d'en fournir une liste alphabétique. Reprendre ensuite avec les fichiers RDF.

Solution :  

 

5. Conversions entres grammaires DTD et XSD ; vérification de grammaires

Peut-on facilement convertir une grammaire DTD en grammaire XSD ? Si oui quel convertisseur peut-on utiliser ? Si non, expliquez pourquoi.

Peut-on facilement convertir une grammaire XSD en grammaire DTD ? Si oui quel convertisseur peut-on utiliser ? Si non, expliquez pourquoi.

Solution :  

 

6. Contraintes et facettes dans les schémas XSD

Ecrire une grammaire XSD qui oblige à décrire une séquence fasta avec un identifiant ID qui correspond à l'expression régulière ^[A-U]{1,3}\d{5}$ et une séquence SEQ d'acides aminés d'une longueur d'au moins 20 AA.

L'ancienne numérotation des plaques minéralogiques se composait de trois parties (chiffres,lettres,département). Ecrire une grammaire XSD correspondante et des exemples de fichiers "voitures" ou "cartes grises". Reprendre avec la nouvelle numérotation des plaques françaises.

Solution :  

 

7. Autres grammaires dont Relax NG ; espaces de noms

Un collègue vient de me fournir une grammaire validateur.rnc pour des fichiers XML comme paradis.xml. Le seul problème est qu'il s'agit d'un schéma Relax NG comme il dit. Comment peut-on s'en servir ? Peut-on le convertir en DTD, en XSD ?

Solution :  

 

8. Questions diverses

Comment fait-on pour tester si un fichier DTD est valide ? Et un fichier XSD ? On pourra utiliser bad.dtd et bad.xsd avec respectivement bad_dtd.xml et bad_xsd.xml.

Quelles sont les différences entre XSD 1.0 et XSD 1.1 ?

Faut-il toujours écrire <!DOCTYPE... pour tester si un fichier est valide par rapport à un fichier DTD donné ?

Quelle est la différence entre SVG et Tiny SVG ? Quelles sont leurs grammaires ?

Solution :  

 

Archive des données, programmes et scripts.

 

Code-source php de cette page ; code javascript utilisé. Retour à la page principale du cours.

 

 

retour gH    Retour à la page principale de   (gH)