Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

EXPRESS data modeling language, ISO 10303-11

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name EXPRESS data modeling language. ISO 10303-11 -- Industrial automation systems and integration -- Product data representation and exchange -- Part 11: Description methods: The EXPRESS language reference manual

The EXPRESS data modeling language is specified in Part 11 of the multi-part standard ISO 10303, a standard for the computer-interpretable representation and exchange of product manufacturing information. The official title of ISO 10303 is: Automation systems and integration -- Product data representation and exchange. It is known informally as "STEP", which stands for "Standard for the Exchange of Product model data". STEP is developed and maintained by the ISO technical committee TC 184, Automation systems and integration, sub-committee SC 4, Industrial data. EXPRESS is a language designed specifically to represent aspects of product data through schemas and constraints; it is not a programming language, although it was influenced by several programming languages, including Ada, Algol, C, C++, Euler, Modula-2, Pascal, PL/I, and SQL. ISO 10303-11 states, "A schema written in EXPRESS describes a set of conditions which establishes a domain. Instances can be evaluated to determine if they are in the domain." This concept is similar to the concept of validation of an XML document (instance) against the XML Schema it claims to conform to. However, the set of constraints expressible in EXPRESS is much richer than those checked during XML validation because the language allows comparisons incorporating many of the mathematical and logical operations included in programming languages and also supports the use of procedures and programmed functions as part of the constraint expression and hence in the evaluation process. See Notes below for more discussion of the richness of the EXPRESS language for data modeling and comparison with XML.

As of late 2016, the current version is ISO 10303-11:2004, which is described as a minor revision of ISO 10303-11:1994. On this site, a single description covers both versions.

Design goals for EXPRESS were:

  • that the language be parsable by humans and by computers for the purpose of formal validation;
  • that the language should facilitate the partitioning "the diverse material addressed by ISO 10303;"
  • that the focus be on the definition of entities (objects of interest), which have properties and are subject to constraints;
  • that the language be neutral as to implementation view or context, but able to support specification of models for particular views.

The syntax of EXPRESS is defined in a derivative of Wirth Syntax Notation (WSN). Within a schema, various datatypes can be defined together with structural constraints and algorithmic rules.

The physical form of an EXPRESS model schema is a plain text file. The language elements are formed into a stream of text, typically broken into physical lines. A physical line is any number (including zero) of characters ended by a newline. The character set permitted in EXPRESS schemas is limited to the following characters from ISO/IEC 10646 (Unicode): the graphic characters lying in the range 20 to 7E (Basic Latin or ASCII), 09 (Tab), 0A (Linefeed), 0D (Carriage Return), and the special character \n signifying the newline.

ISO 10303-11 also specifies a graphical representation for a subset of the constructs in the EXPRESS language. This graphical representation is called EXPRESS-G. EXPRESS-G is not described separately on this site at this time.

Relationship to other formats
    Used by IFC-SPF, Industry Foundation Classes (IFC), Clear Text Family
    Used by STEP-file, STEP-file, ISO 10303-21

Local use Explanation of format description terms

LC experience or existing holdings  
LC preference  

Sustainability factors Explanation of format description terms

Disclosure International standard, developed and maintained by the ISO technical committee TC 184, Automation systems and integration, sub-committee SC 4, Industrial data.

ISO 10303-11:2004. Industrial automation systems and integration -- Product data representation and exchange -- Part 11: Description methods: The EXPRESS language reference manual.


The most important use of EXPRESS (ISO 10303-11) is as the underlying modeling language for other parts of ISO 10303, including a clear text document for an instance of an EXPRESS model (as specified in ISO 10303-21) and a corresponding XML structure (as specified in ISO 10303-28). Used by many other parts of the ISO 10303 standard.

Used by various other ISO standards, including: ISO 13584-24: Industrial automation systems and integration - Parts Library - Logical resource: Logical model of supplier library (known as PLIB); ISO 13399: Cutting tool data representation and exchange; ISO 15926-2: Industrial automation systems and integration -- Integration of life-cycle data for process plants including oil and gas production facilities - Part 2: Data model; and ISO 16739:2013 -- Industry Foundation Classes (IFC) for data sharing in the construction and facility management industries.

    Licensing and patents

No licensing or patent issues.


EXPRESS is a plain text format. EXPRESS model documents are easily viewed with basic text editing tools. The EXPRESS language is designed to be human-readable.

Self-documentation An EXPRESS schema may contain comments, termed "remarks" in the standard. Any text enclosed between "(*" and "*)" or between "--" and the following newline is considered a remark.
External dependencies None.
Technical protection considerations No issues.

Quality and functionality factors Explanation of format description terms

Normal rendering A "document" in the EXPRESS language is not a general text document. It is a plain text file using a limited character set and defined special-purpose syntax.
Functionality beyond normal rendering The function of a document in the EXPRESS language is to be a formal specification (aka "schema") for a set of information requirements (aka "data model") against which another information structure can be evaluated for conformance. The intended area of application is the representation of product manufacturing information for the purpose of exchange among computer systems.
Support for CAD/CAM/CAE This format has been specifically developed as an exchange format for structured data applicable to design, manufacturing, and engineering of products, where "product" is very broadly interpreted. The EXPRESS data modeling language, which is used to define the schemas of which STEP-file documents are instances, is rich in data types and structures that can be used to support CAD/CAM/CAE.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension exp
The EXPRESS standard does not suggest a particular file extension. However, the EXPRESS compiler from STEP Tools. Inc. uses .exp as the default extension. Files for EXPRESS schemas for STEP also have the .exp extension.
Pronom PUID See note.  PRONOM has no corresponding entry as of early 2017.

Notes Explanation of format description terms


The powerful capabilities of the EXPRESS modeling language were summarized by Peter R. Wilson in 1998: "There are basically two aspects to EXPRESS: (1) it provides for the modeling of data and data relationships with a very general and powerful inheritance mechanism (much more than is provided in OO [object-oriented] programming languages), and (2) it includes a full procedural programming language which is used to specify constraints on data instances. ... EXPRESS models may be written in the style of Entity-Relationship, CODASYL, Relational, Object Oriented, or other kinds of data modeling."

XML and EXPRESS as schema definition languages is a 1998 discussion of strengths and weaknesses of the two languages. It states, "EXPRESS is a rich and powerful language for the definition of the structure to which a set of data should conform. The mechanisms it provides for defining the types of object and their properties, that will be used in a given data set, and the constraints to which those objects should conform, are far richer than those provided by the DTD syntax of SGML and XML. On the other had, XML instance syntax is far richer than the corresponding syntax used to transmit instance data conforming to an EXPRESS schema. The so-called 'Part 21 physical file' [STEP-file] used to exchange sets of data conforming to an EXPRESS schema has severe limitations, and is not easily interpretable by humans, or by machines that do not have prior knowledge of the schema itself. A Part 21 file without the schema is useless. In contrast, as we well know, an XML file without a DTD can be extremely useful in its own right. Yet, despite the inherent readability of an XML instance, it remains true that to understand its meaning, some kind of explicit or implicit data schema is required. The very human-readability of XML files can mask this fact. A human reader who understands English (or whatever language has been used for the names of the element types and attributes used in the document) can guess at an implicit data schema that was in the mind of the information designer who chose those element type or attribute names. To make such an XML document usable by an automated system, and interoperable with XML files using other element type or attribute names with equivalent or related meanings, an explicit formal specification of the data schema is required."

History ISO 10303-11 was part of the initial 1994 release of the STEP standard. In 1999, a corrigendum was issued and a new edition was published in 2004. The changes in the 2004 edition addressed requirements of multi-schema specifications for models.

Format specifications Explanation of format description terms

Useful references


Last Updated: 02/27/2017