Skip to content

(URGENT) change the file extension for annotated EXPRESS and register a mime type for same. #11

Description

@TRThurman

Issue https://sd.iso.org/jira-pilot/browse/TCSC410303-3073?filter=-6
requests to create a new mime type for annotated EXPRESS models.

Proposal: .anexp

Here is a draft registration submittal document.
It is unclear to me if annotated EXPRESS itself is a metanorma asciiDoc format.
----------draft propoal---------
Media type registration: application/vnd.expresslang.anexp
(RFC 6838 vendor tree; for submission via the IANA media type
application form. Field set follows RFC 6838 section 5.6, in the
style of the existing application/express registration.)

Type name: application

Subtype name: vnd.expresslang.anexp

Required parameters: N/A

Optional parameters: N/A. The content encoding is always UTF-8; no
charset parameter is defined.

Encoding considerations: binary. Annotated EXPRESS files are
UTF-8-encoded text. Remark (annotation) payloads may contain
non-ASCII characters encoded directly in UTF-8; EXPRESS
declarations outside remarks are restricted to the ISO 10303-11
character repertoire. Line length is not bounded.

Security considerations: Annotated EXPRESS does not allow any kind
of executable or active content. The schema content shares the
security properties of application/express (ISO 10303-11): data
elements do not trigger behaviour in receiving software.
Annotation payloads are Metanorma AsciiDoc source; processors
that interpret these payloads (documentation generators) must
not resolve file-inclusion or external-reference directives from
untrusted content without sanitization, as such directives could
otherwise disclose local file content into generated output.
UTF-8 payloads carry the usual Unicode confusable/spoofing
concerns (RFC 3629, Unicode TR#36) in displayed documentation;
these do not affect schema semantics.

Interoperability considerations: Annotated EXPRESS is not, in
general, consumable by plain ISO 10303-11 EXPRESS processors:
(1) remark payloads may contain characters outside the EXPRESS
character set, encoded as raw UTF-8 rather than via the ISO
10303-11 \S\ and \X\ control directives, which conforming
EXPRESS parsers reject; (2) the named remark tags carry
normative documentation and cross-references (<express:...>)
that a plain EXPRESS processor would silently discard as
comments. A plain ISO 10303-11 schema (media type
application/express) can be derived by stripping all remarks;
tools performing this down-conversion exist (e.g. the expressir
"clean" operation). The reverse direction is lossy:
application/express content carries no annotations.

Published specification: "Annotated EXPRESS", first edition,
2024-05-15, EXPRESS Language Foundation.
https://www.expresslang.org/docs/documents/annotated-express/document.html
The underlying schema language is ISO 10303-11 (EXPRESS language
reference manual). The annotation payload syntax is Metanorma
AsciiDoc.

Applications that use this media type: Authoring source format for
the ISO 10303 (STEP) standards collection (ISO TC184/SC4
stepmod-style repositories); processed by the Metanorma / SUMA
publication toolchain and the expressir parser; consumed by
EXPRESS documentation and schema-management tooling in the
EXPRESS Language Foundation ecosystem.

Fragment identifier considerations: None.

Additional information:

Deprecated alias names for this type: N/A
Magic number(s): N/A (content conventionally begins with an
EXPRESS remark "(*" or the keyword SCHEMA)
File extension(s): .anexp
Macintosh file type code(s): N/A

Person & email address to contact for further information:
[Ronald Tse] <Ron's elf email address>

Intended usage: COMMON

Restrictions on usage: N/A

Author: EXPRESS Language Foundation, Technical Committee EXPRESS

Change controller: EXPRESS Language Foundation

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions