GDL 架构属性元素

所有 <GDL_ATTRIBUTE> 元素的数据类型均使用 xsi:type 按实例指定。 没有特定数据类型定义的特性是泛型特性元素的指定实例, (<GDL_UntypedAtt>) ,该实例在 GDL 生成的架构中定义如下:

    <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有两个属性:NamePersonality名称是必需的,并保存 GDL 属性的关键字 (keyword) 名称。 个性 是可选的,如果属性定义为 *DataType: MULTIPLE_PERSONALITY,则指定个性标记。

如果在 XSD 架构中专门定义了值的 GDL 数据类型,则 xsi:type 属性将引用定义的数据类型。 XML_TYPE、ENUMERATOR 和 XSD_DEFINED 数据类型在 XSD 架构中创建新的数据类型。

GDL 复合数据类型由泛型数据类型表示。 复合数据类型的实例包含子元素,这些子元素可能包含表示简单 XML 数据类型的其他子元素或字符内容。 子元素的名称由 DATATYPE 模板的 *ElementTags 指令定义。

没有定义数据类型或未与模板关联或不符合指定数据类型预期语法的 GDL 属性的值由 <GDL_ATTRIBUTE> 元素中的 <CDATA> 节表示。 本部分允许客户端或其他Parser-Filters根据需要处理值。 此类未知数据类型将不包含 xsi:type 属性。 如果值包含字符串“]]>”,则可能需要多个 <CDATA> 节来表示值。