Generic Description Language
汎用記述言語 (GDL) は、階層構造のデータを表現するための構文を定義します。 また、GDL を使用すると、メーカーと消費者が協力して、データの表現方法を標準化するために使用できるスキーマを定義できます。 このスキーマを使用して、データの構造と形式を検証したり、データを別の形式 (XML など) に変換したりできます。
Microsoft では、GDL パーサーと、関連するパーサー フィルターを提供しています。このフィルターは、ソース データ ファイルからデータにアクセスして処理し、GDL 構文で定義されている階層データに変換します。 GDL は、複雑なデータ セット、このデータの構造と処理を定義するオブジェクト指向スキーマ、およびベンダーによる簡単な拡張メカニズムをサポートしています。
GDL は、Unidrv ミニドライバーのプリンター機能を記述するために使用される汎用プリンター記述 (GPD) 言語のスーパーセットとして設計されています。
GDL の主な機能は次のとおりです。
GDL は GPD レガシ形式と下位互換性があります。
GDL は任意に拡張可能です。 つまり、すべてのユーザーがカスタム属性とコンストラクトを追加できます。
GDL はテンプレートを使用してデータ構造を提供します。
GDL はプリプロセッサ ディレクティブとパラメーター駆動型構成を使用して、柔軟なリンクと条件を提供します。
GDL はデータ入力を解析し、XML ストリームをクライアントに返します。
GDL ソース ファイル内のデータが GDL パーサーによって解析されると、パーサーメイン階層データ構造が含まれます。 クライアントは、解析されたデータ構造にスナップショットを介して間接的にアクセスします。 スナップショットは、特定の状態のデータを表します。 この状態は、構成によって指定されます。 GDL パーサーの現在の実装では、スナップショットは XML として表現され、スナップショット内のデータには XML ツールを使用してアクセスできます。
GDL パーサーは、データ エントリに加えて、キーワード (ディレクティブと呼ばれます) を認識します。 ディレクティブには、プリプロセッサ、マクロ、名前空間、テンプレート、構成などのカテゴリが含まれます。
以降のセクションで、GDL について詳しく説明します。