GDL スキーマのコンストラクト要素
GDL パーサーによって生成される XSD スキーマは、コンストラクト要素を次のように定義します。
<complexType name="GDL_ConstructType">
<sequence>
<any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Name" type="string" use="required"/>
<attribute name="Instance" type="string" use="required"/>
<attribute name="Constrained" type="boolean" use="optional"/>
</complexType>
上記の定義は <SnapshotRoot> 要素の定義に似ています。 また、ルート要素と同様に要素を構築すると、コンストラクト (<CONSTRUCT>) と属性 (<GDL_ATTRIBUTE)> 要素を保持できます。 ただし、<GDL_ConstructType> には、名前、インスタンス、および制約付きという 3 つの XML 属性を追加できます。 名前 と インスタンス 、および名前およびインスタンス GDL コンストラクトをそれぞれ保持します。 制約付きは省略可能で、オプションが制約されているかどうかを示すブール値を保持します。 この属性は、*Option コンストラクトに対応する <CONSTRUCT> 要素にのみ表示されます。
たとえば、次の GDL エントリについて考えてみます。
*Feature: PaperSize
{
*Option: Letter
{
}
}
上記のエントリは、次の XML スナップショットになります。
<CONSTRUCT Name="*Feature" Instance="PaperSize">
<CONSTRUCT Name="*Option" Instance="Letter" Constrained="FALSE" >
</CONSTRUCT>
</CONSTRUCT>
特定のオプションは、指定された構成と GDL インスタンス データで定義されている一連の制約に応じて、制約付きとしてマークされます。