GDL スキーマの属性要素
すべての <GDL_ATTRIBUTE> 要素のデータ型は、xsi:type を使用して、インスタンスごとに指定されます。 特定のデータ型定義のない属性は、GDL 生成スキーマで次のように定義されるジェネリック属性要素 (<GDL_UntypedAtt>) の指定されたインスタンスです。
<complexType name="GDL_UntypedAtt" mixed="true">
<sequence>
<any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Name" type="string" use="required"/>
<attribute name="Personality" type="string" use="optional"/>
</complexType>
このジェネリック データ型は、属性の内容がより具体的なデータ型で記述されない場合に使用されます。 ジェネリック データ型は、表示できる要素の内容を制限しません。 実際の要素の内容は、GDL データ型テンプレートによって決定されます。
<GDL_UntypedAtt> には、名前とパーソナリティという2 つの属性があります。 名前 は必須であり、GDL 属性のキーワード名を保持します。 パーソナリティは省略可能であり、属性が *DataType: MULTIPLE_PERSONALITY として定義されている場合は、パーソナリティ タグを指定します。
値の GDL データ型が XSD スキーマで明示的に定義されている場合、定義のデータ型は xsi:type 属性によって参照されます。 XML_TYPE、ENUMERATOR、および XSD_DEFINED のデータ型は、XSD スキーマに新しいデータ型を作成します。
GDL 複合データ型は、ジェネリック データ型で表されます。 複合データ型のインスタンスには、他の子要素または単純な XML データ型を表す文字コンテンツを含む可能性のある子要素が含まれています。 子要素の名前は、DATATYPE テンプレートの *ElementTags ディレクティブによって定義されます。
定義されたデータ型を持たない、またはテンプレートに関連付けられていない GDL 属性の値、または指定されたデータ型に必要な構文に準拠していない GDL 属性の値は、<GDL_ATTRIBUTE> 要素の <CDATA> セクションによって表されます。 このセクションにより、クライアントまたは他のパーサー フィルターが必要に応じて値を処理できるようになります。 このような不明なデータ型には、xsi:type 属性は含まれません。 値に文字列 "]] が含まれている場合は、値を表すために複数の <CDATA> セクションが必要になる場合があります>。