Currently according to the specification, the C_DV_ORDINAL class has an attribute named "list" of type Set<DV_ORDINAL>. However it is impossible to create valid instances of DV_ORDINAL while constructing C_DV_ORDINAL during ADL parsing.
The reason is that the required attribute "value" (of type DV_CODED_TEXT) of DV_ORDINAL has a required string attribute "value" that is unknown during parsing. The actual value is normally supplied by a terminology service and probably requires user's choice, e.g. language of the terminology. What is normally constrained in DV_ORDINAL is the id of the terminology and the code_string, which is effectively a CODE_PHRASE.
Therefore, the members of the list attribute of C_DV_ORDINAL should only consists of an integer value and a code phrase value. That is exactly how the current Eiffel and Java reference implementation are done.