DTD — EXPRESS Schema Conversion
This section provides information on the differences between the DTD and the EXPRESS schema.
Element Specifications
Elements in the DTD are specified as:
-- <!ELEMENT part (name, (number | ufid)*, item, (sun | mon | tue)+)>
The same elements are represented in the EXPRESS Schema Representation as:
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;
|
In the above example, the number is prefixed with r_. This is because number is reserve word in EXPRESS schema language. All attributes from DTD which match with reserve words in Express language are prefixed with r_.
|
Enumerated List Specification in EXPRESS
An enumerated list is specified in the DTD using the following definition:
<!ELEMENT permissionKey EMPTY>
<!ATTLIST permissionKey value (-1|0|1|2|3|4|5|6|7) #REQUIRED>
An enumerated list is specified in the EXPRESS Schema Representation using the following definition:
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;