Langage de description de format de document

Un article de Wikipédia, l'encyclopédie libre.

image:Langage_progr.png
Cet article fait partie de la série
langages de programmation
Langages à objets
C++ - C# - D
Eiffel - Groovy - Java
Lisaac - Python - Ruby
Simula - Smalltalk
Langages impératifs
APL - ASP - Assembleur
BASIC - C - COBOL - Natural
Forth - Fortran - Limbo - Logo
Pascal - Perl - PHP - TCL
Visual Basic - WLangage
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme - XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage
Tests - Optimisations

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

[modifier] 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.

[modifier] 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.

[modifier] Les fichiers binaires

[modifier] Les fichiers textes

[modifier] La syntaxe BNF (pour Backus Naur Form)

Voir l'article : Forme de Backus-Naur.

[modifier] Les langages balisés

[modifier] 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.

[modifier] La famille dérivée : XML

En XML, on emploie par exemple le langage de description de format de document XML Schema. Ce langage permet également la validation de documents (voir DSDL). XML Schema est employé dans le cadre du registre UDDI.

[modifier] Langages de description de textes

[modifier] roff

[modifier] HTML

[modifier] LaTeX

...