DTD - EXPRESS 架构转换
本部分提供了有关 DTD 与 EXPRESS 架构之间差异的信息。
元素规范
DTD 中的元素指定为:
-- <!ELEMENT part (name, (number | ufid)*, item, (sun | mon | tue)+)>
在 EXPRESS 架构表示中,相同的元素表示为:
ENTITY e_part;
name : STRING;
r_number : OPTIONAL LIST OF STRING;
ufid : OPTIONAL LIST OF STRING;
item : e_item;
sun : OPTIONAL LIST [1:?] OF STRING;
mon : OPTIONAL LIST [1:?] OF STRING;
tue : OPTIONAL LIST [1:?] OF STRING;
WHERE
wr1: (EXISTS ( sun ) OR EXISTS ( mon ) OR EXISTS ( tue ));
END_ENTITY;
|
在上面的示例中,该数字以 r_ 为前缀。这是因为 number 是 EXPRESS 架构语言中的保留字。DTD 中与 Express 语言中的保留字匹配的所有属性都以 r_ 为前缀。
|
EXPRESS 中的枚举列表规范
使用以下定义在 DTD 中指定了枚举列表:
<!ELEMENT permissionKey EMPTY>
<!ATTLIST permissionKey value (-1|0|1|2|3|4|5|6|7) #REQUIRED>
使用以下定义在 EXPRESS 架构表示中指定了枚举列表:
ENTITY e_permissionKey;
attr_value : STRING;
WHERE
check_attr_value: SELF.attr_value IN ['-1','0','1','2','3','4','5','6','7'];
END_ENTITY;