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

Specifies an exchange structure format using a clear text encoding of product data for which the conceptual model is specified in the EXPRESS language. The file format is suitable for the transfer of product data among computer systems. Specifies the mapping from this language to the syntax 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
14-Dec-1994
Withdrawal Date
14-Dec-1994
Current Stage
9599 - Withdrawal of International Standard
Start Date
24-Jan-2002
Completion Date
13-Dec-2025
Ref Project

Relations

Standard
ISO 10303-21:1994 - Industrial automation systems and integration -- Product data representation and exchange
English language
57 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO 10303-21:1994 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: Specifies an exchange structure format using a clear text encoding of product data for which the conceptual model is specified in the EXPRESS language. The file format is suitable for the transfer of product data among computer systems. Specifies the mapping from this language to the syntax of the exchange structure.

Specifies an exchange structure format using a clear text encoding of product data for which the conceptual model is specified in the EXPRESS language. The file format is suitable for the transfer of product data among computer systems. Specifies the mapping from this language to the syntax of the exchange structure.

ISO 10303-21:1994 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:1994 has the following relationships with other standards: It is inter standard links to ISO 8098:1989, ISO/TS 18234-3:2006, ISO 10303-21:1994/Cor 1:1996, ISO 10303-21:2002; is excused to ISO 10303-21:1994/Cor 1:1996. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO 10303-21:1994 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)


IS0
INTERNATIONAL
10303-21
STANDARD
First edition
1994-l 2-l 5
Industrial automation systems and
- Product data representation
integration
and exchange -
Part 21:
Implementation methods: Clear text encoding
of the exchange structure
- Reprksen ta tion
Sys tkmes d ‘automa tisa tjon indus trielle et in tkgra tion
et khange de don&es de produits -
Partie 2 7: Mkthodes de mise en application: Encodage en texte c/air des
fichiers d’kchange
Reference number
IS0 10303-21:1994(E)
OISO
IS0 10303=21:1994(E)
Paee
Contents
1 Scope .
2 Normative references
..............................................
3 Definitions .
3.1 Terms defined in IS0 8859-l .
3.2 Terms defined in IS0 10646
......................................
3.3 Terms defined in IS0 10303-l
.....................................
3.4 Terms defined in IS0 10303-11
....................................
3.5 Terms defined in IS0 10303-44
....................................
3.6 Other definitions
..............................................
4 Abbreviations
...................................................
5 Exchange structure fundamental concepts and assumptions .
5.1 Introduction
................................................
5.2 Notational and typographical conventions .
5.3 Conformance
................................................
6 Formal definitions .
6.1 Formal notation
..............................................
6.2 Basic alphabet definition
.........................................
6.3 Exchange structure
............................................
6.4 Definition of tokens
............................................
6.5 WSN of the exchange structure
....................................
6.6 Token separators
.............................................
6.7 Parameter lists
...............................................
7 Tokens .
7.1 Special tokens
...............................................
7.2 Keywords .
7.3 Simple data types
.............................................
7.3.1 Integer
................................................
7.3.2 Real .
7.3.3 String
.................................................
7.3.4 Entity instance names .
7.3.5 Enumeration values
.........................................
7.3.6 Binary
.................................................
0 IS0 1994
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 the publisher.
International Organization for Standardization
Case Postale 56 l CH-1211 Genkve 20 l Switzerland
Printed in Switzerland
ii
IS0 10303=21:1994(E)
OISO
8 Structured data types
..............................................
9 Header section
..................................................
9.1 Header section entities .
9.2 Header section schema .
9.2.1 file description .
...................................
9.2.2 file-name
9.2.3 file-schema l : : : : : : : : : :
9.3 User-defined header section entities* 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
c
................................................... 18
-10 Datasection
10.1 Data section entities instances
.....................................
10.2 Optional values
..............................................
10.3 Scope structure
..............................................
10.3.1 Syntax
................................................
................. 19
10.3.2 References to entity instances within a SCOPE structure
10.3.3 Behaviour
..............................................
10.4 Data section user-defined entity instances .
11 Mapping from EXPRESS to the exchange structure .
11.1 Mapping of EXPRESS data types .
11.1.1 Mapping of EXPRESS simple data types .
11.1.2 List .
11.1.3 Array .
11.1.4 Set . 26
11.1.5 Bag .
11.1.6 Simple defined types
.......................................
11.1.7 Enumeration
............................................
11.1.8 Select data types
..........................................
11.2 Mapping of EXPRESS entity data types .
11.2.1 Entity with explicit attributes .
11.2.2 Entity with explicit optional attributes .
11.2.3 Entity with derived attributes .
11.2.4 Entity with other entities as attributes .
................ 34
11.2.5 Entities defined as subtypes or supertypes of other entities
............... 40
11.2.6 Entities with attributes redefined as an effect of a DERIVE
11.2.7 Attributes redefined as an effect of a subtype declaration .
..................... 41
11.2.8 Mapping of the EXPRESS element of NUMBER
11.2.9 Entity WHERE rules .
11.2.10 Entity with INVERSE attributes .
11.3 Mapping of the EXPRESS element of SCHEMA .
11.4 Mapping of the EXPRESS element of CONSTANT .
11.5 Mapping of the EXPRESS element of RULE
...........................
11.6 Remarks .
12 Printed representation of exchange structures .
. . .
@ISO
IS0 10303=21:1994(E)
Annexes
.....................................
A File representation on storage media
A. 1 Record-oriented transport content .
A. 1.1 Transport format for magnetic tape media .
...................... 45
A. 1.2 Other storage media with record-oriented storage
A.2 Line-oriented transport content .
A.2.1 Transport format for diskette media .
A.2.2 Othermedia .
A.3 Treatment of multi-volume files .
c
-
B WSN notational conventions .
C Information object registration .
C. 1 Document identification .
C.2 Schema identification .
D Basic alphabet and graphic character set .
E Guidelines for printing the exchange structure .
E. 1 Explicit print control directives .
E.2 Implicit print control directives .
.................................
F Example of a complete exchange structure
F.l Introduction .
F.2 Example schema .
F.3 Example shortnames .
F.4 Example exchange structure .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figures
Figure 1 Example 25 .
Figure 2 Example 27 .
Tables
............................
Table 1 - WSN defining subsets of the basic alphabet
Table2-WSNoftokendefinitions .
...................................
Table 3 - WSN of the exchange structure
Table 4 - String control directives .
....................................
Table 5 - Quick reference mapping table
Table 6 - Print control directives .
........................
Table B. 1 - Wirth Syntax Notation (WSN) defined in itself
..........................
Table D. 1 - Character set used in the exchange structure
1v
IS0 10303-21:1994(E)
aIso
Foreword
The International Organization for Standardization (ISO) is a worldwide federation of national standards
bodies (IS0 member bodies). The work of preparing International Standards is normally carried out
through IS0 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
organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. IS0
collaborates closely with the International Electrotechnical Commission (IEC) on all matters of
electrotechnical standardization.
--
Draft International Standards adopted by 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.
International Standard IS0 10303-21 was prepared by Technical Committee IS0 TC184, Industrial
automation systems and integration, Subcommittee SC4, Industrial data and global manufacturing
languages.
IS0 10303 consists of the following parts under the general title Zndustrial automation systems and
integration - Product data representation and exchange:
- Part 1 Overview and fundamental principles;
- Part 11 Description methods: The EXPRESS language reference manual;
- Part 21 Implementation methods: Clear text encoding of the exchange structure;
- Part 22 Implementation methods: Standard data access interface;
- Part 31 Conformance testing methodology and framework: General concepts;
- Part 32 Conformance testing methodology and framework: requirements on testing laboratories and
clients;
- Part 41 Integrated generic resources: Fundamentals of product description and support;
- Part 42 Integrated generic resources: Geometric and topological representation;
- Part 43 Integrated generic resources: Representation structures;
- Part 44 Integrated generic resources: Product structure configuration;
- Part 45 Integrated generic resources: Materials;
- Part 46 Integrated generic resources: Visual presentation;
- Part 47 Integrated generic resources: Shape variation tolerances;
Process structure and properties;
- Part 49 Integrated generic resources:
V
OISO
IS0 10303-21:1994(E)
- Part 101, Integrated application resources: Draughting;
- Part 104, Integrated application resources: Finite element analysis;
- Part 105, Integrated application resources: Kinematics;
- Part 201, Application protocol: Explicit draughting;
- Part 202, Application protocol: Associative draughting;
c
-
- Part 203, Application protocol: Configuration controlled design;
- Part 207, Application protocol: Sheet metal die planning and design;
- Part 210, Application protocol: Printed circuit assembly product design data;
- Part 213, Application protocol: Numerical control process plans for machined parts.
The structure of this International Standard is described in IS0 10303-l. The numbering of the parts of
this International Standard reflects its structure:
- Part 11 specifies the description method;
- Parts 2 1 and 22 specify the implementation methods;
- Parts 3 1 and 32 specify the conformance testing methodology and framework;
- Parts 4 1 to 49 specify the integrated generic resources;
- Parts 101 to 105 specify the integrated application resources;
- Parts 201 to 213 specify the application protocols.
Should further parts be published, they will follow the same numbering pattern.
Annexes A, B and C form an integral part of this part of IS0 10303. Annexes D, E, and F are for
information only.
IS0 10303-21:1994(E)
OISO
Introduction
IS0 10303 is an International Standard for the computer-interpretable representation and exchange of
product data. The objective is to provide a neutral mechanism capable of describing product data
throughout the life cycle of a product, independent from any particular system. The nature of this
description makes it suitable not only for neutral file exchange, but also as a basis for implementing and
sharing product databases and archiving.
This International Standard is organized as a series of parts, each published separately. The parts of IS0
L 10303 fall into one of the following series: description methods, integrated resources, application
protocols, abstract test suites, implementation methods, and conformance testing. The series are described
in IS0 10303-l. This part of IS0 10303 is a member of the implementation methods series.
This part of IS0 10303 specifies a mechanism that allows product data represented using the EXPRESS
language, specified in IS0 10303-l 1, to be transferred from one computer system to another.
Major subdivisions in this part of IS0 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 IS0 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 International 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
IS0 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 specified in other parts of this International Standard should be ignored. Several
mapping examples have been provided 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.
vii
IS0 10303-21:1994(E)
OISO
. . .
Vlll
IS0 10303-21: 1994(E)
INTERNATIONAL STANDARD OISO
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 IS0 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 (IS0 10303-l 1). The file 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 standards contain provisions which, through reference in this text, constitute provisions
of this part of IS0 10303. At the time of publication, the editions indicated were valid. All standards are
subject to revision, and parties to agreements based on this part of IS0 10303 are encouraged to
investigate the possibility of applying the most recent editions of the standards indicated below. Members
of IEC and IS0 maintain registers of currently valid International Standards.
IS0 3788: 1990, Information processing - 9-Track, I2,7 mm (0.5 in) wide magnetic tape for information
interchange using phase encoding at 126Jpm,m (32OOftpi) - 63 cpm,m (1600 cpi).
IS0 8601: 1988, Data elements and interchange formats - Information interchange - Representation of
dates and times.
IS0 8859-l: 1987, Information processing - 8 bit single-byte coded graphic character sets - Part 1.
Latin alphabet No. 1.
IS0 8859-2: 1987,
Information processing - 8 bit single-byte coded graphic character sets -- Part 2.
Latin alphabet No. 2.
IS0 8859-3: 1987, Information processing - 8 bit single-byte coded graphic character sets - Part 3.
Latin alphabet No. 3.
8 bit single-byte coded graphic character sets - Part 4.
IS0 8859-4: 1987, Information processing -
Latin alphabet No. 4.
IS0 10303=21:1994(E) OISO
IS0 8859-5: 1987, Information processing
8 bit single-byte coded graphic character sets - Part 5.
LatinKyrillic alphabet.
IS0 8859-6: 1987, Information processing 8 bit single-byte coded graphic character sets - Part 6.
Latin/Arabic alphabet.
IS0 8859-7: 1987, Information processing 8 bit single-byte coded graphic character sets - Part 7.
Latin/Greek alphabet.
IS0 8859-8: 1981, Information processing 8 bit single-byte coded graphic character sets - Part 8.
Lafin/Hebrew alphabet.
IS0 8859-9: 1987, Information processing - 8 bit single-byte coded graphic character sets - Part 9.
Latin alphabet No. 5.
IS0 10303- 1: 1994, Industrial automation systems - Product data representation and exchange - Part
1: Overview and fundamental principles.
- Product data representation and exchange - Part
IS0 10303-I 1: 1994, Industrial automation systems
II: irhe EXPRESS language reference manual.
IS0 10303-44: 1994, Industrial automation systems - Product data representation and exchange - Part
44: Product structure configuration.
- Multiple octet coded character set - Part 1.
ISOIIEC 10646-1: 1993-1, Information Processing
Architecture and basic multilingual plane.
3 Definitions
3.1 Terms defined in IS0 8859-l
This part of IS0 10303 makes use of the following terms defined in IS0 8859-l.
.
- byte
- character;
- graphic character.
3.2 Terms defined in IS0 10646
This part of IS0 10303 makes use of the following term defined in IS0 10646.
- basic multilingual plane.
IS0 10303-21:1994(E)
OISO
3.3 Terms defined in IS0 103034
This part of IS0 10303 makes use of the following term defined in IS0 10303-l.
- application protocol;
- exchange structure.
3.4 Terms d efined in IS0 1030341
--
makes use of the following terms defined in IS0 10303-l 1.
This part of IS0 10303
- data type;
- entity;
- token.
3.5 Terms defined in IS0 10303-44
This part of IS0 10303 makes use of the following terms defined in IS0 10303-44.
- directed acyclic graph;
- leaf node;
- node;
- tree.
3.6 Other definitions
For the purposes of this part of IS0 10303, the following definitions apply.
3.6.1 basic alphabet: the set of characters G(02/00) through G(07/14) of IS0 8859-l.
3.6.2 clear text encoding: the encoding of information that only uses g-bit byte values corresponding to
the basic alphabet.
3.6.3 control directive: a sequence of characters in the basic alphabet.
3.6.4 keyword: a special sequence of characters identifying an entity or a defined type in the exchange
structure.
3.6.5 literal: an item in a language definition that stands for itself.
3.6.6 section: a collection of data of the same functional category of information.

IS0 10303=21:1994(E)
3.6.7 sequential file: a file that can only be accessed in a sequential manner.
3.6JS token separator: a sequence of one or more &bit bytes that separate any two tokens.
4 Abbreviations
For the purposes of this part of IS0 10303, the following abbreviations apply:
--
BMP Basic multilingual plane;
WSN Wirth Syntax Notation.
5 Exchange structure fundamental concepts and assumptions
5.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.
5.2 Notational and typographical conventions
Any quotation marks used in this part of IS0 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 mar-h used
in those tables form part of the WSN rules.
In IS0 8859, each character is assigned an identifying name. When that name is used in this part of IS0
10303, it is typeset in italics to distinguish if from ordinary text. Thus comma is used to refer to ‘I)“) low
line refers to “J and capital letter A refers to “A”.
Within examples in this part of IS0 10303, annotation is introduced by the sequence ----> where
clarification is required.
5.3 Conformance
Two levels of conformance are specified:
- syntactical conformance of the exchange structure: an exchange structure conforms to IS0 10303-2 1
if the requirements of this part of IS0 10303 are satisfied;
- schema conformance of the exchange structure: the product data represented in the exchange
structure conforms to the schema listed in the header section of the exchange structure if all

IS0 10303-21:1994(E)
OISO
requirements and constraints of this schema are satisfied and the mapping requirements defined in
clauses 10 and 11 of this part of IS0 10303 are satisfied.
Syntactical conformance is a prerequisite for schema conformance.
Two classes of syntactical conformance are defined by this part of IS0 10303, depending on the method
chosen for the encoding of entity instances whose entity types are subtypes/sypertypes (see 11.2.5).
An implementation that claims syntactical conformance to this part of IS0 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 IS0 10303 shall read or write files
or both that exhibit schema as well as syntactical conformance.
6 Formal definitions
6.1 Formal notation
Wirth Syntax Notation (WSN) is used in this part of IS0 10303 to specify the syntax of the exchange
structure in a formal notation. WSN is described in annex B. Literals appearing within this notation are
delimited by quotation marks.
6.2 Basic alphabet definition
The alphabet of the exchange structure is defined as the characters from G(02/00) to G(07/14) of IS0
8859-l. 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 IS0 8859-l.
NOTE - Table D. 1 gives the correspondence between the 8-bit bytes and their graphic representation in IS0
8859-l.
6.3 Exchange structure
The exchange structure shall be a sequential file using a clear text encoding. The exchange structure shall
consist of two sections: the header section and the data section. The header section provides data relating
to the exchange structure itself. The structure of the header section is specified in clause 9. The data
section provides the data to be transferred. The structure of the data section is specified in clause 10. 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.
IS0 10303=21:1994(E)
Table 1 - WSN defining subsets of the basic alphabet
II II
=
SPACE .
DIGIT = II 0 II ; II 1 II 1 II 2 II 1 II 3 IV 1 II 4 II 1 11 5 11 ; 11 6 11 ; 11 7 11
I I1 8 I’ I ‘I 9 I1 l
II), II ; II c II 1 II d II ; VI e II 1 II f II ; II g II 1 II h II
=
LOWER
rla" I
II j II i II kVI ) IV 1 II 1 II~II 1 11 n VI i II 0 II ! tt pII
I I' i " I
11q1 ; II r II i t1 * II 1 II t II 1 VI u (1 1 WV II i II"11 ) IV x II
I
I “Y” I rrZ1’ l
WA11 1 IIBII 1 IICII ; IIDII ; WE" ) WF" 1 WGII 1 IIHII
=
UPPER
I 11111 ; WJII 1 WK" 1 WL" ; WMII
; VIN" ; 11011 1 IIplI
! “Q” I WRIV 1 WS" 1 ItT" f WU" 1 IIVII 1 IIWII 1 11X"
I II y II 1 II 2 II 1 II II .
-
SPECIAL = II ! II ; II II II II 1 11 * II ; II $ II ; II C& II ) II & 11 1 11 . II ; II # II
I II + II 1 11 , II 1 II -11 1 11 ( II 1 II ) II 1 II 7 . II 1 II / II 1 11 : II
1 II I . I II<11 II=11 II 91 [ II II ] II ( II
11 1 1 >I1 1 II @ II 1 1 1 II
II I 11 II A 1t II \ II
I I .
REVERSE SOLIDUS = "\" .
-
APOSTROPHE = wlm .
CHARACTER = SPACE ; DIGIT 'I LOWER 1 UPPER 1 SPECIAL
1 REVERSE SOLIDUS 1 APOSTROPHE
-
6.4 Definition of tokens
The tokens used in the exchange structure are defined by the WSN in table 2.
6.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 11.
6.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-terminals
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 12.
A comment shall be encoded as a solidus asterisk “/*” followed by any number of characters, 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.

OISO IS0 10303-21:1994(E)
Table 2 - WSN of token definitions
KEYWORD = USER DEFINED KEYWORD ; STANDARD KEYWORD .
- - -
USER DEFINED KEYWORD = "!" UPPER { UPPER 1 DIGIT } .
-
-
STANDARD KEYWORD = UPPER { UPPER 1 DIGIT } .
-
=
SIGN
I1 + I1 I I' - 'I *
INTEGER
= [ SIGN ] DIGIT { DIGIT } .
REAL
= [ SIGN ] DIGIT { DIGIT } “2 { DIGIT }
[ "E" [ SIGN ] DIGIT { DIGIT } 1.
NON Q CHAR = SPECIAL i DIGIT ) SPACE 1 LOWER i UPPER .
--
=
STRING wlw { NON Q CHAR ;
Aposmopm APOSTROPHE 1
REVERSE SOLIDUS REVERSE SOLIDUS 1
CONTROL-DIRECTIVE } "I"-.
-
ENTITY INSTANCE NAME = "#" DIGIT { DIGIT ) .
- -
I' II
=
ENUMERATION . UPPER { UPPER 1 DIGIT } "2 .
II ; IV 4 II ; II 5 IV 1 II 6 II ; II 7 II 1
HEX = II 0 II ; II 1 II 1 II 2 II 1 11 3
II 8 11 1 11 9 II 1 WA" 1 II B II ; II C 11 1 II)) II 1 11 E II 1 II F IV .
BINARY = II II II 11 ( II 0 II 1 WV 1 II 1 IV 2 II 1 II 3 II ) { HEX } II II II w l
6.7 Parameter lists
The PARAMETER LIST production specified in table 3 is a list of instances of a simple or structured
data type. -
7 Tokens
In the exchange structure, a token is a special token, a keyword, or a simple data type.
7.1 Special tokens
The special token “IS0-10303-2 1;” 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 section of an exchange structure, and the
special token “ENDSEC;” shall be used to close the Data section of an exchange structure.

IS0 10303=21:1994(E)
OISO
Table 3 - WSN of the exchange structure
=
EXCHANGE FILE "IS0-10303-21;"
HEADER 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 } .
c
-
PARAMETER- = TYPED PARAMETER i
UNTYPED PARAMETER ; OMITTED PARAMETER .
TYPED PARAMETER = KEYWORD-" (" PARAMETER ")" .-
UNTYPED PARAMETER = "$" ; INTEGER ; REAL
1 STRING ; ENTITY INSTANCE NAME
- - -
1 ENUMERATION 1 BINARY ) LIST .
OMITTED PARAMETER = "*" .
LIST -
= "(" [ PARAMETER { "," PARAMETER } ] ")" .
DATA SECTION
"DATA;" ENTITY INSTANCE LIST "ENDSEC;" .
ENTITY INSTANCE LI;T
= ENTITY INSTANCE { ENTITY INSTANCE } .
ENTITY-INSTANCE-
= ENTITY INSTANCE NAME "=" [ SCOPE ] SIMPLE RECORD 'I;" 1
-
"=" [ SCOPE ] SUBSUPER RECORD ";"
ENTITY-INSTANCE-NAME
- - -
.
=
SCOPE
"&SCOPE" ENTITY INSTANCE LIST
"ENDSCOPE" [ EXPORT LIST T .
EXPORT LIST = "/" ENTITY INSTANCE-NAME ( "," ENTITY INSTANCE NAME }
-
- - - -
PI It
/
SIMiLE RECORD
= KEYWORD "(" [ PARAMETER LIST ] ")" .
SUBSUPER RECORD = "(" SIMPLE RECORD LIST 7;)" .
SIMPLE RECORD LIST
= SIMPLE REEORD { -SIMPLE RECORD } .
- - -
-
The special token “&SCOPE” shall be used to open the Scope structure, and the special token
“ENDSCOPE” shall be used to close the Scope structure.
7.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
‘1 ‘1
! . 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.
7.3 Simple data types
Six simple data types are used in exchange structures: integer, real, string, entity instance name, enumer-
ation, and binary.
/
IS0 10303=21:1994(E)
%O
7.3.1 Integer
An integer shall be encoded as a sequence of one or more digits, as prescribed in table 2, optionally
Integers shall be expressed in base 10. If no sign is
preceded by a plus sign ” + ” or a minus sign “-“.
associated with the integer, the integer shall be assumed to be positive.
EXAMPLE 1 -
Valid file expressions of Integer Meaning
c
16 Positive 16
-
+I2 Positive 12
Negative 349
-349
012 Positive 12
00 Zero
Invalid file expressions of Integer Problem
26 54 Contains spaces
32.0 Contains furl stop
Contains space between plus sign and digits
+ 12
7.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 fill stop “.“, followed
by a sequence of zero or more digits. A decimal exponent consists of the capital letter E optionally
followed by a plus sign ” + ” or minus sign “-I’, followed by one or more digits.
Note - No attempt is made to convey the concept of precision in this part of IS0 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 2 -
Valid file expressions of Real Meaning
+O.OEO 0.0
-O.OE-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 file expressions of Real Problem
Decimal point not allowed in exponent
1.2E3.
Decimal point required in mantissa
lE05
IS0 10303=21:1994(E)
l,ooo.00 Comma not allowed
3.E Digit(s) required in exponent
.5 At least one digit must
precede the decimal point
Decimal point required in mantissa
7.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
I’ 9 9 I?
Within a string, a single apostrophe shall be encoded as two consecutive apostrophes. Within a
string, a single reverse solidus “\I’ shall be encoded as two reverse solidi ‘I\\“. The g-bit bytes allowed
within a string are the decimal equivalents 32 through 126 (inclusive) of IS0 8859-l that define the
graphic characters of the basic alphabet.
NOTE - Table D. 1 gives the correspondence between the &bit bytes and their graphic representation in IS0
8859-l. 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).
Additional characters shall be encoded using the hexadecimal digits (see HEX in table 2) as defined in
7.3.3.1 and 7.3.3.2. The WSN of control directives for encoding strings is given in table 4.
7.3.3.1 Encoding the full alphabet of IS0 8859 within a string
Each part of IS0 8859 includes the basic alphabet as part of its specification; the various parts differ in
the extended character set. To include the extended portion of the alphabet in a string requires the use
of control directives. One control directive is used within a string to allow bytes in the basic alphabet,
G(02/00) through G(07/14), to encode the portions of the alphabet not included in the basic alphabet. The
extension of the basic alphabet corresponds to IS0 8859, G(lO/OO) to G(W14). G(x/y) is a notation for
the character in position (16 times x) + y in the code table in IS0 8859.
The control directive reverse solidus capital letter S reverse solidus “\S\” shall be used to indicate that
the most significant bit of the next g-bit byte in a string is interpreted as a binary one. The control
directive reverse solidus capital letter P UPPER reverse solidus shall indicate that, for this string only,
the subsequent reverse solidus capital letter S reverse solidus control directives shall be interpreted as
referring to the extended alphabet defined in that part of IS0 8859 indicated by the value of UPPER. The
capital letter referred to shall be one of the following letters : “A”, “B”, “C”, I’D”, “E”, ‘IF”, “G”, “HI’,
“I”. In this context, the capital letter A identities IS0 8859-l; capital letter B identifies IS0 8859-2, etc.
If this control directive does not appear within a string, the value “A” shall be assumed; i.e., the extended
alphabet shall be that specified in IS0 8859-l.
IS0 10303=21:1994(E)
OISO
Table 4 - String control directives
CONTROL DIRECTIVE = PAGE 1 ALPHABET 1 EXTENDED2
-
i EXTENDED4 1 ARBITRARY .
PAGE = REVERSE SOLIDUS '5" 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 .
-
- -
"X0" REVERSE SOLIDUS .
END EXTENDED = REVERSE SOLIDUS
-
- -
"X" REVERSE SOLIDUS HEX ONE .
ARBITRARY = REVERSE SOLIDUS
- - -
HEX ONE = HEX HEX .
-
HEX TWO = HEX ONE HEX ONE .
- - -
HEX FOUR = HEX TWO HEX TWO .,
- - -
EXAMPLE 3 -
Comments
String as stored Effective contents
'CAT' CAT
lDonlW Don't
I I I I I
I I
string of length zero
"\S\Drgerl jirger
h6tel
lh\S\vtel'
'\PE\\S\*\S\U\S\b' RPT Cyrillic, INyet'
7.3.3.2 Encoding the character sets of IS0 10646 within a string
IS0 10303-l 1, 8.16, specifies that any character from IS0 10646 may occur in a string. This part of IS0 10303
specifies three control directives that allow encoding of characters from IS0 10646.
IS0 10646 defines a canonical form that uses four octets to represent any character in the full coding space. These
characters specify the group, plane, row, and cell respectively. In addition, IS0 10646 defines a Basic Multilingual
Plane (BMP), representing plane 00 of group 00 of the full coding space. The characters in the BMP are represented
by two octets, specifying row and cell.
NOTE - The Basic Multilingual Plane includes characters in general use in alphabetic, syllabic, and
idiographic scripts together with various symbols and digits.
The control directive reverse solidus capital letter X digit two reverse solidus “\X2\“shall be used to indicate that
the following sequence of multiples of four hexadecimal characters shall be interpreted as encoding the two-octet
representation of characters from the BMP in IS0 10646. The encoding in a string in the exchange structure shall
be as follows:
IS0 10303=21:1994(E) OISO
- Each character in the representation of 10646 to be encoded shall be converted to two &bit bytes as specified
in IS0 10646;
- Each of the two resulting g-bit bytes shall be encoded as two hexadecimal characters in the basic alphabet
corresponding to the graphic representation of the hexadecimal digit.
EXAMPLE 4 - The Latin ~qital Letter B is converted to the hexadecimal value ‘0042’ hex by table 1 in IS0
10646. The hexadecimal digits corresponding to this value are 0, 0, 4, and 2. The encoding in the exchange
structure using the basic alphabet consists of the four characters 0042.
The control directive reverse solidus capital letter X digit four reverse solidus “\X4\” shall be used to
indicate that the following sequence of multiples of eight hexadecimal characters shall be interpreted as
encoding the four-octet representation of characters from the full coding space of IS0 10646. The
encoding in a string in the exchange structure shall be as follows:
- Each character in the representation of 10646 to be encoded shall be converted to four S-bit bytes
as specified in IS0 10646;
- Each of the four resulting S-bit bytes shall be encoded as two hexadecimal characters in the basic
alphabet corresponding to the graphic representation of the hexadecimal digit.
EXAMPLE 5 - The Latin capital letter B is converted to the hexadecimal characters 00000042 by table 1
in IS0 10646. The hexadecimal digits are 0, 0, 0, 0, 0, 0, 4, and 2. The encoding in the exchange structure
using the basic alphabet consists of the eight characters OOOO0042.
The control directive reverse solidus capital letter X digit zero reverse solidus “\XO\” shall be used to
indicate the end of encoding of IS0 10646 characters in a string and a return to direct encoding in the
basic alphabet.
7.3.3.3 Encoding a single &bit byte in a string
An 8-bit byte with a value between 0 and 255 may be encoded in a string. The control directive reverse
solidus capital letter X reverse solidus “\X\” shall be used in a string to indicate that the following two
hexadecimal characters shall be interpreted as an g-bit byte.
7.3.3.4 Maximum string length
The maximum length of a string as stored in an exchange structure is 32769 &bit bytes, including the
beginning and ending apostrophes. If embedded quotation marks, reverse solidi, apostrophes, print
control directives (clause 12) or characters encoded according to 7.3.3.1, 7.3.3.2, or’7.3.3.3 are included
in the string as stored, the maximum length of the effective contents of the string will be less than 32767
graphic characters. The effective contents is the sequence of graphic characters after these encoding
conventions have been resolved.
7.3.4 Entity instance names
An entity instance name shall be encoded as a number sign, “#“, followed by an unsigned integer. The
integer shall consist of any combination of one or more digits. At least one digit shall not be “0”. Leading
zeros in entity instance names are not significant.
IS0 10303=21:1994(E)
wo
The WSN for the entity instance names is given in table 3 in the production
ENTITY INSTANCE NAME.
- -
EXAMPLE 6 -
Valid name expressions
#12 Names or refers to entity
instance with identifier 12
#023 Names or refers to entity
c
- instance with identifier 23
Invalid name expressions Problem
#+23 Contains ’ + ’ sign
#oO.l Contains decimal point
74 Does not begin with a number sign
#439A6 Contains alphabetic character
Entity instance names are used as references to other entity instances if they appear inside the attribute
list of an entity instance. Both forward and backward references are permitted.
7.3.5 Enumeration values
An enumeration value shall be encoded as a sequence of capital letters or digits beginning with an capital
letter delimited by afill stops. The meaning of a given enumeration value is determined by the EXPRESS
schema and its associated definitions from the enumeration type declarations.
EXAMPLE 7 -
expression Meaning
Valid enumeration
Indicates a value of STEEL
. STEEL.
Problem
Invalid enumeration expressions
Missing ending full stop
.RED
Does not start with an alphabetic character.
.123.
7.3.6 Binary
A binary is a sequence of bits (0 or 1). A binary shall be encoded as determined by the following
procedure.
- Count the number of bits in the sequence. Call the result p;
- Determine a number n, 0 < n 5 3, such that k=p+n is a multiple of four;
- Left fill the binary with n zero bits. Divide the sequence into groups of four bits.
- Precede the sequence with the 4-bit representation of n;
%O
IS0 10303-21:1994(E)
- If the decimal equivalent of a 4-bit group is 9 or less, add 48 to that decimal value to create an 8-
bit byte; if the decimal equivalent of the 4-bit group is greater than 9, add 55 to that decimal value
to create an g-bit byte.
NOTE - This is a binary to hexadecimal conversion.
- The encoding of a binary consists of k/4+ 1 hexadecimal digits. The first digit is the value of n.
This is followed by the hexadecimal digits representing the binary;
- Delimit the encoded binary with quotation marks “““.
c
-
EXAMPLE 8 -
Binary value Representation
‘null’ or ‘empty’ nO”
0 “30”
1 “31”
111011 “23B”
100100101010 “092A”
8 Structured data types
The only structured data type that appears in the exchange structure is LIST as defined in table 3. A LIST
is a collection of instances of simple or structured data types. In the exchange structure, a LIST begins
with a IeJ parenthesis “(” and ends with a matching right parenthesis “)I’. Instances are separated by
commas. LISTS can be nested to any depth.
EXAMPLE 9 -
Structured data type Representation
List of Integer
(0,1,2AT2,4)
(‘CAT’, ‘HELLO’)
List of String
((0.0, 1.0, 2.0), (3.0, 4.0, 5.0))
List of List of Real
List of List of Real
((O-0, 1.0, 2.m ( 1)
In the last List of List of Real, the second embedded list is empty.
9 Header section
The header section contains information that is applicable to the entire exchange structure. This section
shall be present in every exchange structure. The sec
...

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...