Industrial automation systems and integration - Product data representation and exchange - Part 21: Implementation methods: Clear text encoding of the exchange structure

Systèmes d'automatisation industrielle et intégration — Représentation et échange de données de produits — Partie 21: Méthodes de mise en application: Encodage en texte clair des fichiers d'échange

General Information

Status
Withdrawn
Publication Date
23-Jan-2002
Withdrawal Date
23-Jan-2002
Current Stage
9599 - Withdrawal of International Standard
Start Date
18-Feb-2016
Completion Date
13-Dec-2025

Relations

Effective Date
15-Apr-2008
Effective Date
15-Apr-2008
Standard

ISO 10303-21:2002 - Industrial automation systems and integration -- Product data representation and exchange

English language
72 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO 10303-21:2002 is a standard published by the International Organization for Standardization (ISO). Its full title is "Industrial automation systems and integration - Product data representation and exchange - Part 21: Implementation methods: Clear text encoding of the exchange structure". This standard covers: Industrial automation systems and integration - Product data representation and exchange - Part 21: Implementation methods: Clear text encoding of the exchange structure

Industrial automation systems and integration - Product data representation and exchange - Part 21: Implementation methods: Clear text encoding of the exchange structure

ISO 10303-21:2002 is classified under the following ICS (International Classification for Standards) categories: 25.040.40 - Industrial process measurement and control. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO 10303-21:2002 has the following relationships with other standards: It is inter standard links to ISO 10303-21:1994/Cor 1:1996, ISO 10303-21:1994. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO 10303-21:2002 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

Standards Content (Sample)


INTERNATIONAL ISO
STANDARD 10303-21
Second edition
2002-01-15
Industrial automation systems and
integration — Product data representation
and exchange —
Part 21:
Implementation methods: Clear text
encoding of the exchange structure
Systèmes d'automatisation industrielle et intégration — Représentation et
échange de données de produits —
Partie 21: Méthodes de mise en application: Encodage en texte clair des
fichiers d'échange
Reference number
©
ISO 2002
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not
be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this
file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in this
area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters
were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event
that a problem relating to it is found, please inform the Central Secretariat at the address given below.

©  ISO 2002
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic
or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISO's member body
in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.ch
Web www.iso.ch
Printed in Switzerland
ii © ISO 2002 – All rights reserved

Contents page
1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3 Terms, definitions, and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1 Terms defined in ISO 8859-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Terms defined in ISO 10646 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.3 Terms defined in ISO 10303-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.4 Terms defined in ISO 10303-11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.5 Other definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.6 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Exchange structure fundamental concepts and assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 Notational and typographical conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.3 Conformance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Formal definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.1 Formal notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2 Basic alphabet definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.3 Exchange structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.4 Definition of tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.5 WSN of the exchange structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.6 Token separators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.1 Special tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.2 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3 Simple data type encodings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3.1 Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3.2 Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3.3 String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3.4 Entity instance names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.3.5 Enumeration values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3.6 Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7 Structured data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8 Header section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.1 Header section entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.2 Header section schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.2.1 file_description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2.2 file_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.2.3 file_schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.2.4 file_population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.2.5 section_language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.2.6 section_context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
©ISO 2002 – All rights reserved iii

8.3 User-defined header section entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
9 Data sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.1 Data section entity instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.2 Data section user-defined entity instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10 Mapping from EXPRESS to the exchange structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10.1 Mapping of EXPRESS data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10.1.1 Mapping of EXPRESS simple data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
10.1.2 List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.1.3 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.1.4 Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
10.1.5 Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
10.1.6 Simple defined types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
10.1.7 Enumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
10.1.8 Select data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
10.2 Mapping of EXPRESS entity data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.2.1 Mapping of a simple entity instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.2.2 Mapping of OPTIONAL explicit attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.2.3 Mapping of derived attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.2.4 Mapping of attributes whose values are entity instances . . . . . . . . . . . . . . . . . . . . . . 39
10.2.5 Entities defined as subtypes of other entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.2.6 Explicit attributes redeclared as DERIVEd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.2.7 Attributes redeclared as INVERSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.2.8 Attributes redeclared as explicit attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.2.9 Entity local rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.2.10 Mapping of INVERSE attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.2.11 Encoding of entity type names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.3 Mapping of the EXPRESS element of SCHEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.4 Mapping of the EXPRESS element of CONSTANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.5 Mapping of the EXPRESS element of RULE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10.6 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11 Printed representation of exchange structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Annex A (normative) File representation on storage media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A.1 Record-oriented transport content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A.1.1 Transport format for magnetic tape media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A.1.2 Other storage media with record-oriented storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.2 Line-oriented transport content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.2.1 Transport format for diskette media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.2.2 Other media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
A.3 Treatment of multi-volume files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Annex B (normative) WSN notational conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Annex C (normative) Information object registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
C.1 Document identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
C.2 Schema identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
iv ©ISO 2002 – All rights reserved

Annex D (normative) Basic alphabet and graphic character set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Annex E (normative) Protocol Implementation Conformance Statement (PICS) proforma . . . . . . . 58
E.1 Conformance to specified function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Check as many as are appropriate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
E.1.1 Entity instance encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
E.1.2 Short name encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
E.1.3 String encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
E.2 Implementation limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Annex F (normative) Multiple EXPRESS schemas in an exchange structure . . . . . . . . . . . . . . . . . . 60
F.1 Reference validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
F.1.1 EXPRESS interface specification method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
F.1.2 SDAI domain equivalence method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
F.2 Determining population of a schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
F.2.1 Section boundary method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
F.2.2 Include all compatible method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
F.2.3 Include referenced instance method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Annex G (informative) Guidelines for printing the exchange structure . . . . . . . . . . . . . . . . . . . . . . . 66
G.1 Explicit print control directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
G.2 Implicit print control directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Annex H (informative) Example of a complete exchange structure . . . . . . . . . . . . . . . . . . . . . . . . . 68
H.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
H.2 Example schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
H.3 Example short names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
H.4 Example exchange structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Tables page
Table 1 - WSN defining subsets of the basic alphabet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Table 2 - WSN of token definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Table 3 - WSN of the exchange structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Table 4 - String control directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table 5 - Quick reference mapping table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table 6 - Print control directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table B.1 - Wirth Syntax Notation (WSN) defined in itself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table D.1 - Character set used in the exchange structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
©ISO 2002 – All rights reserved v

Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national stan-
dards bodies (ISO member bodies). The work of preparing International Standards is normally carried
out through ISO technical committees. Each member body interested in a subject for which a technical
committee has been established has the right to be represented on that committee. International organi-
zations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO col-
laborates closely with the International Electrotechnical Commission (IEC) on all matters of
electrotechnical standardizations.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 3.
Draft International Standards adopted by the technical committees are circulated to the member bodies
for voting. Publication as an International Standard requires approval by at least 75 % of the member
bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this part of ISO 10303 may be the
subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights.
International Standard ISO 10303-21 was prepared by Technical Committee ISO/TC 184, Industrial
automation systems and integration, Subcommittee SC 4, Industrial data.
This second edition cancels and replaces the first edition (ISO 10303-21:1994), of which it constitutes
a technical revision. It incorporates the corrections published in ISO 10303-21:1994/Cor.1:1996.
This International Standard is organized as a series of parts, each published separately. The structure of
this International Standard is described in ISO 10303-1.
Each part of this International Standard is a member of one of the following series: description meth-
ods, implementation methods, conformance testing methodology and framework, integrated generic
resources, integrated application resources, application protocols, abstract test suites, application inter-
preted constructs, and application modules. This part is a member of the implementation methods
series.
A complete list of parts of ISO 10303 is available from the Internet:

Annexes A, B, C, D, E and F form a normative part of this part of ISO 10303. Annexes G and H are for
information only.
©ISO 2002 – All rights reserved vi

Introduction
ISO 10303 is an International Standard for the computer-interpretable representation of product infor-
mation and for the exchange of product data. The objective is to provide a neutral mechanism capable
of describing products throughout their life cycle. This mechanism is suitable not only for neutral file
exchange, but also as a basis for implementing and sharing product databases, and as a basis for
archiving.
This part of ISO 10303 specifies a mechanism that allows product data described in the EXPRESS lan-
guage, specified in ISO 10303-11, to be transferred from one computer system to another.
Major subdivisions in this part of ISO 10303 are:
— specification of the exchange structure syntax;
— mapping from an EXPRESS schema onto this syntax.
NOTE The examples of EXPRESS usage in this part of ISO 10303 do not conform to any particular style
rules. Indeed, the examples sometimes use poor style to conserve space or to concentrate on the important points.
The examples are not intended to reflect the content of the information models defined in other parts of this Inter-
national Standard. They are crafted to show particular features of EXPRESS or of the exchange structure. Many
examples are annotated in a way that is not consistent with the syntax rules of this part of ISO 10303. These
annotations are introduced by symbolic arrows, either horizontal '---->', or vertical. These annotations should be
ignored when considering the parse rules. Any similarity between the examples and the normative models speci-
fied in other parts of this International Standard should be ignored. Several mapping examples have been pro-
vided throughout this document. Additional spaces and new lines have been inserted into some of these examples
to aid readability. These spaces and new lines need not appear in an exchange structure.
This edition incorporates the following technical modifications to ISO 10303-21:1994:
— the SCOPE structure (&SCOPE / ENDSCOPE) has been eliminated;
— the exchange structure may now contain multiple data sections;
— the exchange structure header section may now identify the default language for string attributes
of entity instances encoded in a data section;
— the exchange structure header section may now identify information describing contexts within
which the entity instances encoded in a data section are applicable;
— enumeration values may now be encoded using short names if such names are available.
All exchange structures that are encoded according to the previous edition of ISO 10303-21 and that do
not use the SCOPE structure also conform to this edition.
vii ©ISO 2002 – All rights reserved

INTERNATIONAL STANDARD ISO 10303-21:2002(E)
Industrial automation systems and integration —
Product data representation and exchange —
Part 21: Implementation methods:
Clear text encoding of the exchange structure
1 Scope
This part of ISO 10303 specifies an exchange structure format using a clear text encoding of product
data for which the conceptual model is specified in the EXPRESS language (ISO 10303-11). The
exchange format is suitable for the transfer of product data among computer systems.
The mapping from the EXPRESS language to the syntax of the exchange structure is specified. Any
EXPRESS schema can be mapped onto the exchange structure syntax.
2 Normative references
The following normative documents contain provisions which, through reference in this text, constitute
provisions of this part of ISO 10303. For dated references, subsequent amendments to, or revisions of,
any of these publications do not apply. However, parties to agreements based on this part of ISO 10303
are encouraged to investigate the possibility of applying the most recent editions of the normative doc-
uments indicated below. For undated references, the latest edition of the normative document referred
to applies. Members of ISO and IEC maintain registers of currently valid International Standards.
ISO 639-2:1998, Codes for the representation of names of languages — Part 2: Alpha-3 code.
ISO 3788:1990, Information processing — 9-Track, 12,7 mm (0,5 in) wide magnetic tape for informa-
tion interchange using phase encoding at 126 ftpmm (3 200 ftpi) — 63 cpmm (1 600 cpi).
ISO 8601:2000, Data elements and interchange formats — Information interchange — Representation
of dates and times.
ISO/IEC 8824-1:1998, Information technology — Abstract Syntax Notation One (ASN.1): Specification
of basic notation.
ISO/IEC 8859-1:1998, Information technology — 8 bit single-byte coded graphic character sets —
Part 1: Latin alphabet No. 1.
ISO/IEC 8859-2:1999, Information technology — 8 bit single-byte coded graphic character sets —
Part 2: Latin alphabet No. 2.
©ISO 2002 – All rights reserved 1

ISO/IEC 8859-3:1999, Information technology — 8 bit single-byte coded graphic character sets —
Part 3: Latin alphabet No. 3.
ISO/IEC 8859-4:1998, Information technology — 8 bit single-byte coded graphic character sets —
Part 4: Latin alphabet No. 4.
ISO/IEC 8859-5:1999, Information technology — 8 bit single-byte coded graphic character sets —
Part 5: Latin/Cyrillic alphabet.
ISO/IEC 8859-6:1999, Information technology — 8 bit single-byte coded graphic character sets —
Part 6: Latin/Arabic alphabet.
ISO 8859-7:1987, Information processing — 8 bit single-byte coded graphic character sets — Part 7:
Latin/Greek alphabet.
ISO/IEC 8859-8:1999, Information technology — 8 bit single-byte coded graphic character sets —
Part 8: Latin/Hebrew alphabet.
ISO/IEC 8859-9:1999, Information technology — 8 bit single-byte coded graphic character sets —
Part 9: Latin alphabet No. 5.
ISO 10303-1:1994, Industrial automation systems and integration — Product data representation and
exchange — Part 1: Overview and fundamental principles.
ISO 10303-11:1994, Industrial automation systems and integration — Product data representation and
exchange — Part 11: Description methods: The EXPRESS language reference manual.
ISO/IEC 10646-1:2000, Information Processing — Universal Multiple-Octet Coded Character Set
(UCS) — Part 1: Architecture and Basic Multilingual Plane.
3 Terms, definitions, and abbreviations
3.1 Terms defined in ISO 8859-1
This part of ISO 10303 makes use of the following terms defined in ISO 8859-1.
—byte;
— character;
— graphic character.
3.2 Terms defined in ISO 10646
This part of ISO 10303 makes use of the following term defined in ISO 10646.
2 ©ISO 2002 – All rights reserved

— basic multilingual plane.
3.3 Terms defined in ISO 10303-1
This part of ISO 10303 makes use of the following terms defined in ISO 10303-1.
— application protocol;
— exchange structure.
3.4 Terms defined in ISO 10303-11
This part of ISO 10303 makes use of the following terms defined in ISO 10303-11.
— complex entity instance;
— data type;
—entity;
— partial complex entity instance;
— simple entity instance;
—token.
3.5 Other definitions
For the purposes of this part of ISO 10303, the following definitions apply.
3.5.1
basic alphabet
the set of characters G(02/00) through G(07/14) of ISO 8859-1.
3.5.2
clear text encoding
the encoding of information, using a sequence of codes for characters in the basic alphabet.
3.5.3
control directive
a sequence of characters in the basic alphabet.
©ISO 2002 – All rights reserved 3

3.5.4
keyword
a special sequence of characters identifying an entity or a defined type in the exchange structure.
3.5.5
section
a collection of data of the same functional category of information.
3.5.6
sequential file
a file that can only be accessed in a sequential manner.
3.5.7
token separator
a sequence of one or more 8-bit bytes that separate any two tokens.
3.6 Abbreviations
For the purposes this part of ISO 10303, the following abbreviations apply:
BMP Basic multilingual plane
WSN Wirth Syntax Notation
4 Exchange structure fundamental concepts and assumptions
4.1 Introduction
The exchange structure is described by an unambiguous, context-free grammar to facilitate parsing by
software. The grammar is expressed in Wirth Syntax Notation that is described in annex B. The form of
product data in the exchange structure is specified using a mapping from the EXPRESS language to the
exchange structure syntax.
4.2 Notational and typographical conventions
Any quotation marks used in this part of ISO 10303 are not part of the text that appears in the exchange
structure but serve to delimit that text. This statement applies to all places in the text where quotation
marks are used. Table 2, Table 3, and Table 4 form an exception to this rule as the quotation marks used
in those tables form part of the WSN rules.
In ISO 8859, each character is assigned an identifying name. When that name is used in this part of
ISO 10303, it is typeset in italics to distinguish if from ordinary text. Thus comma is used to refer to
",", low line refers to "_", and capital letter A refers to "A".
4 ©ISO 2002 – All rights reserved

Within examples in this part of ISO 10303, an annotation is introduced by the sequence ! where
clarification is required.
4.3 Conformance
Two levels of conformance are specified:
— syntactical conformance of the exchange structure: an exchange structure conforms to ISO
10303-21 if the requirements of this part of ISO 10303 are satisfied;
— schema conformance of the exchange structure: the instances represented in the exchange struc-
ture conform to the schemas listed in the header section of the exchange structure if every require-
ment or constraint of these schemas is satisfied with respect to each instance or grouping of
instances to which it shall apply whatsoever and the mapping requirements defined in clauses 9
and 10 of this part of ISO 10303 are satisfied.
NOTE Annex F presents methods for evaluating schema conformance when an exchange structure contains
multiple data sections based on different EXPRESS schemas.
Syntactical conformance is a prerequisite for schema conformance.
Two classes of syntactical conformance are defined by this part of ISO 10303, depending on the
method chosen for the encoding of complex entity instances (see 10.2.5). An implementation that
claims syntactical conformance to this part of ISO 10303 shall read or write files or both that exhibit
syntactical conformance in (at least) one of these two conformance classes.
An implementation that claims schema conformance to this part of ISO 10303 shall read or write files
or both that exhibit schema as well as syntactical conformance.
5 Formal definitions
5.1 Formal notation
Wirth Syntax Notation (WSN) is used in this part of ISO 10303 to specify the syntax of the exchange
structure in a formal notation. WSN is described in annex B.
5.2 Basic alphabet definition
The alphabet of the exchange structure is defined as the characters from G(02/00) to G(07/14) of ISO
8859-1. This alphabet is represented in the exchange structure by the set of 8-bit bytes with decimal
values 32 to 126.  Table 1 divides the basic alphabet into subsets. G(x/y) is a notation for the character
in position (16 times x) + y in the code table in ISO 8859-1.
NOTE Table D.1 gives the correspondence between the 8-bit bytes and their graphic representation in ISO
8859-1.
©ISO 2002 – All rights reserved 5

Table 1 - WSN defining subsets of the basic alphabet
SPACE  = " " .
DIGIT  = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7"
| "8" | "9" .
LOWER  = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h"
| "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p"
| "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x"
| "y" | "z" .
UPPER  = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H"
| "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P"
| "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X"
| "Y" | "Z" | "_" .
SPECIAL = "!" | """" | "*" | "$" | "%" | "&" | "." | "#"
| "+" | "," | "-" | "(" | ")" | "?" | "/" | ":"
| ";" | "<" | "=" | ">" | "@" | "[" | "]" | "{"
| "|" | "}" | "^" | "`" | "~" .
REVERSE_SOLIDUS = "\" .
APOSTROPHE = "'" .
CHARACTER = SPACE | DIGIT | LOWER | UPPER | SPECIAL
| REVERSE_SOLIDUS | APOSTROPHE
5.3 Exchange structure
The exchange structure shall be a sequential file using a clear text encoding. The exchange structure
shall consist of at least two sections: the header section and one or more data sections. The header sec-
tion provides data relating to the exchange structure itself. The structure of the header section is speci-
fied in clause 8. The data section provides the data to be transferred. The structure of the data section is
specified in clause 9. The exchange structure is defined by the WSN in Table 3.
The exchange structure is a stream of 8-bit bytes that are encodings of the graphic characters of the
basic alphabet. The graphic characters are collected into recognizable sequences called tokens. Tokens
may be separated by token separators. The exchange structure can be considered as a sequence of
tokens and token separators.
5.4 Definition of tokens
The tokens used in the exchange structure are defined by the WSN in Table 2.
5.5 WSN of the exchange structure
The syntax of the exchange structure is specified in Table 3. Table 3 references the tokens defined in
Table 2. The relationship between the syntax and the EXPRESS schema is specified in clause 10.
6 ©ISO 2002 – All rights reserved

Table 2 - WSN of token definitions
KEYWORD      = USER_DEFINED_KEYWORD | STANDARD_KEYWORD .
USER_DEFINED_KEYWORD = "!" UPPER { UPPER | DIGIT } .
STANDARD_KEYWORD = UPPER { UPPER | DIGIT } .
SIGN       = "+" | "-" .
INTEGER      = [ SIGN ] DIGIT { DIGIT } .
REAL       = [ SIGN ] DIGIT { DIGIT } "." { DIGIT }
[ "E" [ SIGN ] DIGIT { DIGIT } ] .
NON_Q_CHAR    = SPECIAL | DIGIT | SPACE | LOWER | UPPER .
STRING      = "'" { NON_Q_CHAR |
APOSTROPHE APOSTROPHE |
REVERSE_SOLIDUS REVERSE_SOLIDUS |
CONTROL_DIRECTIVE } "'" .
ENTITY_INSTANCE_NAME = "#" DIGIT { DIGIT } .
ENUMERATION    = "." UPPER { UPPER | DIGIT } "." .
HEX        = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
"8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" .
BINARY      = """" ( "0" | "1" | "2" | "3" ) { HEX } """" .
5.6 Token separators
A token separator is a element that separates two tokens. Token separators are space, the explicit print
control directives, and comments. A token separator may appear between the terminals or non-termi-
nals of the productions of Table 3. Any number of token separators may appear wherever one token
separator may appear. A token separator shall not appear within tokens except that explicit print control
directives may also appear within binaries and within strings. Print control directives are defined in
clause 11.
NOTE Space is the only whitespace character within the basic alphabet described in 5.2. Line-delimiters
such as line feed or carriage return are permitted in the exchange structure by annex A, but do not belong to the
basic alphabet and are required by annex A to be ignored when processing the exchange structure. Consequently,
line breaks may appear anywhere within the structure, including within tokens.
A comment shall be encoded as a solidus asterisk "/*" followed by any number of characters from the
basic alphabet, and terminated by an asterisk solidus "*/". Any occurrence of solidus asterisk following
the first occurrence shall not be significant, i.e. comments cannot be nested. All graphic characters
appearing inside a comment shall not be significant to the exchange structure and are only intended to
be read by humans.
©ISO 2002 – All rights reserved 7

Table 3 - WSN of the exchange structure
EXCHANGE_FILE   = "ISO-10303-21;"
HEADER_SECTION DATA_SECTION { DATA_SECTION }
"END-ISO-10303-21;" .
HEADER_SECTION   = "HEADER;"
HEADER_ENTITY HEADER_ENTITY HEADER_ENTITY
[HEADER_ENTITY_LIST]
"ENDSEC;" .
HEADER_ENTITY_LIST = HEADER_ENTITY { HEADER_ENTITY } .
HEADER_ENTITY   = KEYWORD "(" [ PARAMETER_LIST ] ")" ";" .
PARAMETER_LIST  = PARAMETER { "," PARAMETER } .
PARAMETER     = TYPED_PARAMETER |
UNTYPED_PARAMETER | OMITTED_PARAMETER .
TYPED_PARAMETER  = KEYWORD "(" PARAMETER ")" .
UNTYPED_PARAMETER = "$" | INTEGER | REAL | STRING | ENTITY_INSTANCE_NAME
| ENUMERATION | BINARY | LIST .
OMITTED_PARAMETER = "*" .
LIST       = "(" [ PARAMETER { "," PARAMETER } ] ")" .
DATA_SECTION   = "DATA" [ "(" PARAMETER_LIST ")" ] ";"
ENTITY_INSTANCE_LIST "ENDSEC;"
ENTITY_INSTANCE_LIST = { ENTITY_INSTANCE } .
ENTITY_INSTANCE = SIMPLE_ENTITY_INSTANCE | COMPLEX_ENTITY_INSTANCE .
SIMPLE_ENTITY_INSTANCE = ENTITY_INSTANCE_NAME "=" SIMPLE_RECORD ";" .
COMPLEX_ENTITY_INSTANCE = ENTITY_INSTANCE_NAME "=" SUBSUPER_RECORD ";" .
SIMPLE_RECORD   = KEYWORD "(" [ PARAMETER_LIST ] ")" .
SUBSUPER_RECORD  = "(" SIMPLE_RECORD_LIST ")" .
SIMPLE_RECORD_LIST = SIMPLE_RECORD { SIMPLE_RECORD } .
6 Tokens
In the exchange structure, a token is a special token, a keyword, or a simple data type encoding.
6.1 Special tokens
The special token "ISO-10303-21;" shall be used to open an exchange structure, and the special token
"END-ISO-10303-21;" shall be used to close an exchange structure.
The special token "HEADER;" shall be used to open the Header section of an exchange structure, and
the special token "ENDSEC;" shall be used to close the Header section of an exchange section.
The special token "DATA" shall be used to open the data sections of an exchange structure, and the spe-
cial token "ENDSEC;" shall be used to close the data sections of an exchange structure.
The special token dollar sign ("$") is used to represent an object whose value is not provided in the
exchange structure.
8 ©ISO 2002 – All rights reserved

The special token asterisk ("*") is used to represent an object whose value is not provided in the
exchange structure but can be derived from other values according to rules given in the EXPRESS
schema (see 10.2.6).
The special tokens semicolon (";"), parentheses ("(", ")"), comma (",") and solidus ("/") are used to
punctuate the exchange structure.
6.2 Keywords
Keywords are sequences of graphic characters indicating an entity or a defined type in the exchange
structure. Keywords shall consist of capital letters, digits, low lines, and possibly an exclamation mark
"!". The exclamation mark shall occur at most once, and only as the first character in a keyword.
Keywords may be schema-defined keywords or user-defined keywords. Keywords that do not begin
with the exclamation mark are schema-defined keywords. Keywords that begin with the exclamation
mark are user-defined keywords. A user-defined keyword is the identifier for a named type (an entity
data type or a defined type) in the EXPRESS schema governing the exchange structure. The meaning
of a user-defined keyword is a matter of agreement between the partners using the exchange structure.
6.3 Simple data type encodings
Six simple data type encodings are used in exchange structures: integer, real, string, entity instance
name, enumeration, and binary.
6.3.1 Integer
An integer shall be encoded as a sequence of one or more digits, as prescribed in Table 2, optionally
preceded by a plus sign "+" or a minus sign "-". Integers shall be expressed in base 10. If no sign is
associated with the integer, the integer shall be assumed to be positive.
EXAMPLE
Valid integer expressions Meaning
16 Positive 16
+12 Positive 12
-349 Negative 349
012 Positive 12
00 Zero
Invalid integer expressions Problem
26 54 Contains spaces
32.0 Contains full stop
+ 12 Contains space between plus sign and digits
©ISO 2002 – All rights reserved 9

6.3.2 Real
A real shall be encoded as prescribed in Table 2. The encoding shall consist of a decimal mantissa
optionally followed by a decimal exponent. The decimal mantissa consists of an optional plus sign "+"
or minus sign "-", followed by a sequence of one or more digits, followed by a full stop ".", followed by
a sequence of zero or more digits. A decimal exponent consists of the capital letter E optionally fol-
lowed by a plus sign "+" or minus sign "-", followed by one or more digits.
NOTE No attempt is made to convey the concept of precision in this part of ISO 10303. Where a precise
meaning is necessary, the sender and receiver of the exchange structure should agree on one. Where a precise
meaning is required as part of the description of an entity data type, this meaning should be included in the entity
data type definition in the EXPRESS schema.
EXAMPLE
Valid real expressions Meaning
+0.0E0 0.0
-0.0E-0 0.0, as above example
1.5 1.5
-32.178E+02 -3217.8
0.25E8 25 million
0.E25 0.
2. 2.
5.0 5.0
Invalid real expressions Problem
1.2E3. Decimal point not allowed in exponent
1E05 Decimal point required in mantissa
1,000.00 Comma not allowed
3.E Digit(s) required in exponent
.5 At least one digit must precede the decimal point
1 Decimal point required in mantissa
6.3.3 String
A string shall be encoded as an apostrophe "'", followed by zero or more 8-bit bytes, and ended by an
apostrophe "'". The null string (string of length zero) shall be encoded by two consecutive apostrophes
"''". Within a string, a single apostrophe shall be encoded as two consecutive apostrophes. Within a
string, a single reverse solidus "\" shall be encoded as two reverse solidi "\\". The 8-bit bytes allowed
within a string are the decimal equivalents 32 through 126 (inclusive) of ISO 8859-1 that define the
graphic characters of the basic alphabet.
NOTE Table D.1 gives the correspondence between the 8-bit bytes and their graphic representation in ISO
8859-1. The quotation mark does not need to be doubled when appearing in a string. It appears doubled in Table
1 because it is a meta-character of the WSN (see annex B).
10 ©ISO 2002 – All rights reserved

Table 4 - String control directives
CONTROL_DIRECTIVE = PAGE | ALPHABET | EXTENDED2
| EXTENDED4 | ARBITRARY .
PAGE = REVERSE_SOLIDUS "S" REVERSE_SOLIDUS CHARACTER .
ALPHABET = REVERSE_SOLIDUS "P" UPPER REVERSE_SOLIDUS .
EXTENDED2 = REVERSE_SOLIDUS "X2" REVERSE_SOLIDUS
HEX_TWO { HEX_TWO } END_EXTENDED .
EXTENDED4 = REVERSE_SOLIDUS "X4" REVERSE_SOLIDUS
HEX_FOUR { HEX_FOUR } END_EXTENDED .
END_EXTENDED = REVERSE_SOLIDUS "X0" REVERSE_SOLIDUS .
ARBITRARY = REVERSE_SOLIDUS "X" REVERSE_SOLIDUS HEX_ONE .
HEX_ONE = HEX HEX .
HEX_TWO = HEX_ONE HEX_ONE .
HEX_FOUR = HEX_TWO HEX_TWO .
Additional characters shall be encoded using the hexadecimal digits (see HEX in Table 2) as defined in
6.3.3.1 and 6.3.3.2. The WSN of control directives for encoding strings is given in Table 4.
6.3.3.1 Encoding the full alphabet of ISO 8859 within a string
In ISO 8859, G(x/y) is the notation for the character in "column" x "row" y, i.e., code value (16 · x) + y,
in the code table. Each part of ISO 8859 includes the basic alphabet (see 5.2) as positions G(02/00)
through G(07/14). The various parts of ISO 8859 differ in the symbols of the extended character set —
positions G(10/00) through G(15/14). To include characters from the extended character set in a string
requires the use of control directives.
The PAGE control directive — reverse solidus capital letter S reverse solidus ("\S\") CHARACTER
(see Table 4) — is used within a string to allow a character in the basic alphabet to represent the char-
acter in the corresponding position in the extended alpha
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...