Eninformatique, leslangages de balisage représentent une classe delangages spécialisés dans l'enrichissement d'information textuelle. Ils utilisent desbalises, unités syntaxiques délimitant une séquence de caractères ou marquant une position précise à l'intérieur d'un flux de caractères (par exemple unfichier texte).
L'inclusion de balises permet de transférer à la fois lastructure du document et son contenu. Cette structure est compréhensible par unprogramme informatique, ce qui permet un traitement automatisé du contenu.
La caractéristique principale des langages de balisage est d'utiliser des balises.
Le rôle des balises est de proposer une syntaxe pour délimiter une séquence de caractères ou pour marquer une position précise dans un flux de caractères.
Les balises ne sont qu'une particularité syntaxique du langage. Les langages les utilisant peuvent donc être d'usage multiple, de la programmation à l'annotation de documents.
Historiquement, les langages à base de balises servent surtout à structurer ou formater des documents.
De par leur spécificité syntaxique d'utiliser des balises, ces langages facilitent l'annotation de texte.Il suffit en effet d'encadrer des portions de texte par des balises pour utiliser une fonctionnalité du langage.
Par exemple, en HTML, il suffit d'encadrer des mots par les balises<p> et</p> pour en faire un paragraphe.
Ces langages particuliers servent à définir des classes de documents valides selon un certain nombre de critères. Or ces critères peuvent parfois être exprimés également à l'aide de balises.
Par exemple lesDTD permettent de définir des classes de documentsSGML ouXML. La DTD va imposer la structure des documents qui la respectent. Une DTD utilise des balises pour spécifier quels éléments et quels attributs sont autorisés.
Lesschémas XML sont un autre moyen de définir des classes de documents XML. Formant eux-mêmes une classe de documents XML, ils utilisent évidemment des balises XML.
Dans ces langages, les balises intégrées dans le texte sont des instructions pour le programme qui va « lire » le texte.
Ainsi, le langageTeX contient des instructions de formatage de document sous forme de balises. Par exemple la balise\vsize permet de spécifier la hauteur de la page à afficher.
Avec l'essor de XML, les outils de traitement des documents XML ont considérablement évolué. Il a donc été naturel d'utiliser XML lui-même pour définir d'autres langages à base de XML. Cette façon de voir a donné naissance à de nombreux langages de balisage (car à base de XML) et d'usages très hétéroclites. Exemples d'usages :
Le langage de balisage le plus couramment utilisé sur leWorld Wide Web est leHTML. En HTML, on utilise des balises prédéfinies afin de préciser à l'intérieur d'un fichier texte des éléments tels que les titres, les paragraphes, lesacronymes, les citations, etc.
On distingue les balises définissant un bloc des balises en-ligne par :
le modèle de contenu : les éléments de bloc peuvent contenir à la fois des éléments de bloc, des éléments en-ligne et des données ; les éléments en-ligne ne peuvent contenir que des éléments en-ligne et des données. « L'idée inhérente à cette distinction structurelle, c'est que les éléments de bloc créent des structures “plus grandes” que les éléments en-ligne. »
le formatage : « par défaut, les éléments de bloc sont formatés différemment des éléments en-ligne. En général, les éléments de bloc commencent sur une nouvelle ligne tandis que les éléments en-ligne commencent sur la même ligne. »
« Les feuilles de style fournissent les moyens de spécifier la restitution d'éléments arbitraires, y compris si l'élément est rendu comme étant de type bloc ou de type en-ligne. »
L'ensemble des citations est tiré de la spécification dustandard HTML[2].
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
On délimite la phrase « Lorem ipsum dolor sit amet, consectetuer adipiscing elit. » par la balisep (définissant un paragraphe) au moyen d'une balise d'ouverture (<p>) et d'une balise de fermeture (</p>). Cette phrase est contenue dans l'élémentp, lui-même obligatoirement contenu dans l'élémentbody (cet élément définit le début du corps du fichier HTML).
LeXML pousse très loin la description sémantique d'un fichier, permettant de délimiter avec précision, par exemple dans une recette, les<ingrédients>, le<temps-de-cuisson>, les<plats-nécessaires>, etc. Afin d'exploiter un document XML écrit de cette façon, on utilise des feuillesXSLT permettant de transformer un document XML en un autre type de document XML.
Toutefois, cette liberté dans le choix des balises permet à un fichier d'être écrit en XML sans pour autant délimiter des informations sémantiques : hors-contexte, la balise<hy> ne signifie rien, à moins de définir sa signification à l'intérieur d'un fichier de définition, appeléDTD, associé au fichier XML.