Overview
ISO/IEC 14957:2010 provides a standardized notation for stating the format of data element values. The standard focuses on the character classes and lengths used to represent data elements and specifies additional notation for numerical figures. Its scope is limited to graphic characters (digits, letters and special characters) and the basic datatypes: characters, character strings, integers, reals and pointers. The notation is intended for use in metadata, data element dictionaries and electronic data interchange (EDI) to reduce ambiguity and improve interoperability.
Key Topics
- Format strings and directives: The format is expressed as a character-string sequence composed of directives: space characters, ordinary characters, or conversion specifications introduced by
%.
- Conversion specifications: After
% the notation may include an assignment-suppressing *, an optional maximum field width, an optional length modifier, and a conversion specifier such as d, i, o, u, x, a/e/f/g, c, s, [ or %%.
- Behavioral basis: The specification is conceptually based on the C language
fscanf() behaviour (ISO/IEC 9899), describing how input items match conversion specifiers and how field widths and scansets operate.
- Scanset and string rules: The
[ specifier defines sets or complements of characters to be matched. The s and c specifiers cover sequences of non-space characters and fixed-length character sequences respectively.
- Numeric formats: Integer and real number conventions are defined to mirror common parsing functions (strtol/strtoul/strtod), clarifying what sequences match decimal, octal, hexadecimal and floating formats.
- Formal grammar: Annex A provides an EBNF grammar for data element descriptions to support machine-readable metadata and consistent implementation.
Applications
- Embedding format notation in data element metadata for registries, catalogs and documentation.
- Defining input validation and parsing rules in EDI and inter-system data exchange.
- Supporting schema and data dictionary alignment across organizations to reduce ambiguity and implementation errors.
- Informing parser implementations and tooling that validate or convert character-based representations of primitive datatypes.
Related Standards
- ISO/IEC 10646 (UCS character set) - referenced for space character definitions
- ISO/IEC 9899 (C programming language) - conceptual basis for conversion behaviour
- ISO 6093, ISO 9735 and other interchange standards - use cases and cross-references
This concise, language-neutral notation enables consistent description of data element formats, improving metadata clarity, interoperability and dependable data interchange.