- 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
Exemples
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 fait trois lettres en ASCII est un fichier valide par rapport à ce jeu de règles.
Extensions
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 binaires
Les fichiers textes
La syntaxe BNF (pour Backus Naur Form)
Voir l'article : Forme de Backus-Naur.
Les langages balisés
La famille SGML
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 : XML
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 textes
roff
Html
LaTeX
...
Wikimedia Foundation. 2010.