データ記述言語(データきじゅつげんご)は、
コンピュータが扱うデータを記述するための
形式言語であり、
プログラミング言語とは異なります。この言語の主な役割は、データの構造を定義し、その要素へのアクセス方法を共通化することにあります。また、データをテキスト形式で格納することが一般的です。
データ記述言語は、基本的に
プログラミング言語ではありませんが、一部には
プログラミング言語のような機能を持つものも存在します。HTMLは当初、ドキュメントの構造を記述する
マークアップ言語でしたが、拡張により
スクリプト言語を内包するようになりました。ただし、HTML自体はスクリプトコードをデータとして扱い、その処理はWebブラウザなどのアプリケーションに委ねられます。この点から、HTMLは純粋なデータ格納言語とみなせます。一方で、
携帯電話向けに開発されたHDMLのように、
プログラミング言語的な機能を持つものもあります。
データ記述言語登場の背景
データ記述言語は、以下の3つの主要な目的を達成するために開発されました。
1.
複雑なデータ構造の格納: テキストで表現可能な単純なデータは、
テキストファイルで管理できますが、複雑な
データ構造、例えば木構造や繰り返し要素を持つデータは、データ記述言語が適しています。従来はアプリケーションが個別にデータ形式を定義していましたが、複雑な
データ構造に対応できませんでした。
2.
データ記述方法とアクセス方法の共通化: 従来、データの格納方法は
システムやアプリケーションによって異なり、フォーマットが乱立していました。データ記述言語は、フォーマットを標準化し、データへのアクセス方法を共通化することで、データ交換を容易にしました。
3.
テキスト形式でのデータ格納: バイナリ形式はファイルサイズを小さくできますが、可読性が低いため、データ記述言語ではテキスト形式を採用しています。テキスト形式は可読性に優れますが、アプリケーション側で構文解析が必要になります。
単純なデータの列挙は、
テキストファイルで十分ですが、データがグループ化され、各グループが並列に列挙されるような場合、グループに見出しを付けることで対応できます。しかし、深い木構造や繰り返し要素、要素の順序に意味があるような複雑な
データ構造を扱うには、データ記述言語が不可欠です。
データフォーマットの共通化
以前は、
システムやアプリケーションごとに異なるデータ形式が使われており、プログラム開発者は、データ読み書きプログラムを個々のソフトウェアに合わせて作成する必要がありました。しかし、
インターネットの普及とともに、データ交換が必須となる分野では、データファイルのフォーマットやデータアクセス方法を統一する必要性が高まりました。
テキスト形式の採用
バイナリ形式は、ファイルサイズを小さくできる利点がありますが、可読性が低く、データの読み書きが困難です。そのため、データ記述言語ではテキスト形式が採用されています。テキスト形式では、アプリケーション側で構文解析が必要になりますが、可読性に優れており、人間がデータを理解しやすくなります。
パーサーの役割
テキスト形式のデータを扱う場合、アプリケーション側は、読み取ったテキストデータを適切な
データ型に変換したり、可読性向上のための情報を読み飛ばす処理が必要です。この処理を行うのがパーサー(構文解析器)であり、扱うデータ種類が増えるほど、パーサーは複雑になります。
まとめ
データ記述言語は、データの構造を定義し、アクセス方法を共通化することで、データの管理と交換を効率化するための重要なツールです。テキスト形式でデータを格納することにより、可読性を向上させ、開発者がデータを扱いやすくする役割を果たしています。
関連項目
- - 対人可読媒体
- - CSS
- - HTML
- -
- - PDF
- - TOML
- - XHTML
- - XML
- - XPath
- - YAML