Inconsistency in demographic specs

In https://specifications.openehr.org/releases/1.0.2/architecture/rm/demographic_im.pdf

ACTOR.roles is 0..1
ACTOR.languages is 0..1

In Demographic Information Model (same spec and version, just the HTML version

ACTOR.roles is 1..*
ACTOR.languages is 1..*

I believe the PDF version is using the existence cardinality and the HTML version is using the cardinality of the list. Though if the attribute can be optional (existence 0..1), then de cardinality can’t be 1..*, unless the interpretation is: the attribute is optional, though if it’s present, then it should contain at least one element.

Note the languages type in the PDF is declared as List<DV_TEXT> [0..1], and in the HTML it’s DV_TEXT [1..*], so the List is omitted (implicit type). Same happens with ACTOR.roles. Also PARTY.reverse_relationships in the PDF is Set<LOCATABLE_REF> [0..1] while in the HTML it’s LOCATABLE_REF [0..*].

In the HTML specs for demographics on 1.0.3, 1.0.4 and 1.1.0, it follows how types are defined in the 1.0.2 spec in HTML.

I found those differences confusing.

The problem is the JSON schemas I’m working on, depend on the correct interpretation of the spec’s existence and cardinality.

I have created an issue on JIRA to check the inconsistency [SPECPR-397] - openEHR JIRA