Syntax of ARCHETYPE_ID version-id (and related)

Description

The syntax for version-ids in http://openehr.org/releases/BASE/latest/docs/base_types/base_types.html#_syntaxes

may have some issues:

version-id = 'v', non-zero-digit, [ number ] ;
[...]
number = digit, { digit } ;
[...]
digit = '0' | nz_digit ;
non-zero-digit = '1' | .. | '9' ;

Problems:

1. version-id seems to disallow v0 ? I think this needs to be allowed? But in a way that 0 is only allowed directly after v if no other digit follows: You MUST NOT be able to construct v01 or v001 or v0001, etc

2. nz_digit = non-zero-digit ? Otherwise nz_digit is not defined

3. Generally in that section, there are some production rules where the EBNF doens't include commas between the individual terminals and non-terminals, e.g. object_version_id or archetype_id. There may be a reason for that I don't understand, but it seems to me like a mixture of using commas and not to indicate a concatentation is used? I think if you assume implicit concatenation of adjacent symbols (i.e. without using a comma) then it should be done consistently.

Environment

None

Status

Reporter

Sebastian Garde

Labels

None

Components

Priority

Minor
Configure