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