Ouvrir le menu principal

Langage de description de format de document

Un langage de description de format de document est un langage permettant de définir un jeu de règles et contraintes qui seront utilisées pour savoir si une instance de document est valide par rapport à ce même jeu de règles et contraintes.

Sommaire

ExemplesModifier

Par exemple, si on invente un format dont la principale caractéristique est de préciser les contraintes par rapport à la taille du fichier que nous essayons de catégoriser (valide ou non valide). On utilisera une syntaxe proche de la syntaxe mathématique, en définissant une ou plusieurs équations vérifiées par la variable TailleFichier :

TailleFichier = 3

Ainsi un fichier contenant le mot « non » qui comporte trois lettres en ASCII est un fichier valide par rapport à ce jeu de règles, de même qu'un fichier contenant le mot« oui ».

ExtensionsModifier

Un langage de description de format n'est pas nécessairement définitif, dans le sens où, il peut être complété pour fournir d'autres règles, permettant de catégoriser plus finement.

Si on définit un ensemble de règle A pour dire si un document est une instance de A. Il suffit d'ajouter un ensemble de règle B, non contradictoire avec celle de A, pour créer un sous-langage de A, vérifiant A et B.

Les fichiers binairesModifier

Le binaire est constitué de deux chiffre 0 et 1 (base de 2). Votre ordinateur code tous en 0 et 1: votre adresse ip est codé en base de 2 mais pour se simplifier les choses on utilise la base de 16; une image votre ordinateur le voit en 0 et 1, il a une référence (par exemple: 11001001 est égale a du rouge foncé).

base 10 base 16 base 2
0 0 0 0 0 0
1 1 0 0 0 1
2 2 0 0 1 0
3 3 0 0 1 1
4 4 0 1 0 0
5 5 0 1 0 1
6 6 0 1 1 0
7 7 0 1 1 1
8 8 1 0 0 0
9 9 1 0 0 1
10 A 1 0 1 0
11 B 1 0 1 1
12 C 1 1 0 0
13 D 1 1 0 1
14 E 1 1 1 0
15 F 1 1 1 1

Les fichiers textesModifier

La syntaxe BNF (pour Backus Naur Form)Modifier

Voir l'article : Forme de Backus-Naur.

Les langages balisésModifier

La famille SGMLModifier

En SGML, il y a trois niveaux de description d'un document :

  • Le langage de définition de la syntaxe concrète (qui permet de préciser les caractères utilisés pour déterminer les ouvertures et fermetures de balise par exemple)
  • Le langage de définition de la syntaxe abstraite (qui permet de définir les DTD SGML)
  • La DTD SGML qui permet de définir des instances de documents valides par rapport à cette DTD

Ce sont ces trois niveaux qui ont fait de SGML, une norme très difficile à percevoir et à mettre en œuvre.

La famille dérivée : XMLModifier

En XML, on emploie par exemple le langage de description de format de document XML Schema, le langage Relax NG, ou plus anciennement les DTD. Ces langages permettent également la validation de documents (voir DSDL).

Langages de description de textesModifier

HTMLModifier

Le langage de description de textes le plus connu est HTML. Il est utilisé pratiquement sur tous les sites internet.

Autres langages de description de texteModifier

Parmi les autres langages de description de texte sont

  • LaTeX : pour les textes scientifiques comprenant des formules mathématiques
  • roff : historiquement, c'était un langage de description de texte utilisé autrefois sous Multics et Unix