次の方法で共有


GDL 構成

GDL を使用すると、データ内の依存関係を定義できます。 クライアントは依存関係を意識する必要はありません。代わりに、クライアントはスナップショットを要求するときに対象の構成を指定し、パーサーはその構成に対応するスナップショットを生成します。

たとえば、通話に請求される料金は、発信地と目的地、通話が行われる時間帯と曜日、使用される通話プランなどによって異なります。 考えられるすべての結果の価格は、大規模な多次元配列で表すことができます。 このデータは、GDL ディレクティブを使用して、出発地と目的地、時刻、通話プランなどのさまざまな変数を表すパラメーターを定義することによって表現できます。 他のディレクティブを使用して、これらのパラメーターに許可される値を定義できます。 他のディレクティブは、定義するパラメーターの値にデータがどのように依存するかを指定します。 通話のコストを表すデータ (次の例では CostOfCall) が GDL ソース ファイルとして表現されると、それを解析することができ、クライアントは単に次の値を割り当てる構成を作成するだけで通話のコストを取得できます。GDL で定義されている各パラメーターに必要な値を追加します。

たとえば、クライアントは、次のデータを含む構成を構成する場合があります。

OriginationPoint: Seattle
DestinationPoint: SanFrancisco
LengthOfCall: 10minutes
TimeOfDay: Night
CallingPlan: OneRate

生成されたスナップショットには、次の例のような 1 つのデータ (可能なすべての組み合わせの中から) が含まれます。

CostOfCall: $0.49

GDL スナップショットには、何千もの項目を含む複雑なデータ構造や、1 つだけを含めることができます。 スナップショット内の各項目には、クライアントが認識していない構成に対する独自の依存関係のセットが存在する可能性があります。 クライアントは目的の構成を提供するだけで、GDL パーサーはその構成に対応するデータを表すスナップショットを返します。

さらに、GDL では、選択した構成を「不許可」として除外できます。 たとえば、印刷デバイスでは、透明メディアでの両面印刷を許可したくない場合があります。 GDL パーサー インターフェイスには、指定された構成が許可されているかどうかを検出するメソッドがあります。 構成が禁止されている場合、メソッドは構成を最小限に変更して許可します。 除外される構成を定義するディレクティブと、パラメーターの相対的な重要性を指定するディレクティブがあり、構成を修正して競合を解決したり、元の意図をできるだけ保持するように変更を加えたりできます。

構成に依存するデータの作成の詳細については、「GDL 構成依存データの作成」を参照してください。