Advanced Customization > Business Logic Customization > Data Exchange using Standards in Windchill > STEP Data Exchange using EXPRESS > STEP Foundation > Introduction to EXPRESS > DTD — EXPRESS Schema Conversion
  
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;
* 
For a sample DTD to EXPRESS entity conversion, see DTD to EXPRESS Mapping.