CellML 2.0 Conformance Report
Small CellML 2.0 files, each about one numbered rule of the CellML 2.0 Normative Specification, release 2.0.1, read by several implementations. This page shows where they agree with each other and with the specification, and where they differ.
A CellML 2.0 iteration of cellml-validation by Michael Clerx, begun at the University of Oxford and continued at the University of Nottingham. An independent project, not run by the CellML project or its editors.
Versions
Specification: CellML 2.0 Normative Specification, release 2.0.1.
Environment: Python 3.12.15 on Linux.
| Implementation | Version | What “reported an issue” means |
|---|---|---|
| libCellML | 0.7.2 | Its Parser (strict mode) or its Validator reported at least one error. Warnings and messages are shown, not counted. |
| Myokit | 1.39.2 | Its CellML 2.0 reader (myokit.formats.cellml.v2.parse_file), which checks the rules as it reads, raised CellMLParsingError. Python warnings are shown, not counted. |
Summary
107 files: 46 valid, 61 invalid and 0 unclear.
| libCellML | Myokit | |
|---|---|---|
| Matches the spec | 76 of 107 | 102 of 107 |
| Differs from the spec | 31 of 107 | 5 of 107 |
| Stopped unexpectedly (any folder) | 9 | 2 |
The implementations give the same outcome on 73 of 107 files, and different outcomes on 34.
How to read this report
- accepted: the implementation read the file and reported no errors.
- reported an issue: it reported at least one error, as described in the table above.
- stopped unexpectedly: it crashed, ran past the time limit, or ended in a way other than its usual way of reporting issues. The message says what happened.
- ✓ means the outcome matches what the specification expects for the file's folder, and ≠ means it differs. Files in
unclearcarry no mark, because the specification does not settle them. - Every file differs from its place's control file (
_plain) in exactly one value, so an outcome on a variant points at that value. Seemodels_2_0/README.md. - A difference is information for the people who maintain each tool, not a judgment of their work. Tools built for simulation often accept more than the specification allows, on purpose.
Disagreement matrix
| File | Spec | libCellML | Myokit | Implementations |
|---|---|---|---|---|
| 2.1.1.model_name_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.1.1.model_name_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.1.1.model_name_hyphen | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.1.1.model_name_leading_digit | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.1.1.model_name_leading_underscore | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.1.1.model_name_non_latin_letter | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.1.1.model_name_single_letter | valid | ✓ accepted | ✓ accepted | agree |
| 2.1.1.model_name_space | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.1.1.model_name_underscore_inside | valid | ✓ accepted | ✓ accepted | agree |
| 2.1.1.model_name_upper_case | valid | ✓ accepted | ✓ accepted | agree |
| 2.5.1.units_name_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.5.1.units_name_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.5.1.units_name_hyphen | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.5.1.units_name_leading_digit | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.5.1.units_name_leading_underscore | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.5.1.units_name_non_latin_letter | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.5.1.units_name_single_letter | valid | ✓ accepted | ✓ accepted | agree |
| 2.5.1.units_name_space | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.5.1.units_name_underscore_inside | valid | ✓ accepted | ✓ accepted | agree |
| 2.5.1.units_name_upper_case | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.1.unit_prefix_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.1.unit_prefix_decimal | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.6.2.1.unit_prefix_e_notation | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.6.2.1.unit_prefix_empty | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.6.2.1.unit_prefix_large | valid | ✓ accepted | ≠ reported an issue | differ |
| 2.6.2.1.unit_prefix_leading_plus | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.1.unit_prefix_name_capitalized | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.6.2.1.unit_prefix_name_deca | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.1.unit_prefix_name_deka | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.6.2.1.unit_prefix_name_milli | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.1.unit_prefix_negative | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.1.unit_prefix_sign_only | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.6.2.2.unit_multiplier_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.2.unit_multiplier_beyond_double_range | valid | ≠ reported an issue | ≠ stopped unexpectedly | differ |
| 2.6.2.2.unit_multiplier_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.6.2.2.unit_multiplier_leading_plus | valid | ≠ reported an issue | ✓ accepted | differ |
| 2.6.2.2.unit_multiplier_point_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.6.2.2.unit_multiplier_sign_and_point_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.6.2.2.unit_multiplier_sign_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.6.2.3.unit_exponent_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.6.2.3.unit_exponent_beyond_double_range | valid | ≠ reported an issue | ≠ stopped unexpectedly | differ |
| 2.6.2.3.unit_exponent_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.6.2.3.unit_exponent_leading_plus | valid | ≠ reported an issue | ✓ accepted | differ |
| 2.6.2.3.unit_exponent_point_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.6.2.3.unit_exponent_sign_and_point_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.6.2.3.unit_exponent_sign_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.7.1.component_name_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.7.1.component_name_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.7.1.component_name_hyphen | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.7.1.component_name_leading_digit | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.7.1.component_name_leading_underscore | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.7.1.component_name_non_latin_letter | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.7.1.component_name_single_letter | valid | ✓ accepted | ✓ accepted | agree |
| 2.7.1.component_name_space | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.7.1.component_name_underscore_inside | valid | ✓ accepted | ✓ accepted | agree |
| 2.7.1.component_name_upper_case | valid | ✓ accepted | ✓ accepted | agree |
| 2.8.1.1.variable_name_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.8.1.1.variable_name_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.8.1.1.variable_name_hyphen | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.8.1.1.variable_name_leading_digit | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.8.1.1.variable_name_leading_underscore | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.8.1.1.variable_name_non_latin_letter | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.8.1.1.variable_name_single_letter | valid | ✓ accepted | ✓ accepted | agree |
| 2.8.1.1.variable_name_space | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.8.1.1.variable_name_underscore_inside | valid | ✓ accepted | ✓ accepted | agree |
| 2.8.1.1.variable_name_upper_case | valid | ✓ accepted | ✓ accepted | agree |
| 2.8.2.2.initial_value_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.8.2.2.initial_value_beyond_double_range | valid | ✓ accepted | ✓ accepted | agree |
| 2.8.2.2.initial_value_empty | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.8.2.2.initial_value_leading_plus | valid | ≠ reported an issue | ✓ accepted | differ |
| 2.8.2.2.initial_value_point_only | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.8.2.2.initial_value_sign_and_point_only | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.8.2.2.initial_value_sign_only | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.12.5.cn_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.cn_beyond_double_range | valid | ≠ reported an issue | ✓ accepted | differ |
| 2.12.5.cn_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.cn_leading_plus | valid | ≠ reported an issue | ✓ accepted | differ |
| 2.12.5.cn_point_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.12.5.cn_sign_and_point_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.12.5.cn_sign_only | invalid | ≠ stopped unexpectedly | ✓ reported an issue | differ |
| 2.12.5.cn_base_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.cn_base_16 | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.cn_base_8 | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.cn_in_degree_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.cn_in_degree_beyond_double_range | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.cn_in_degree_empty | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.12.5.cn_in_degree_leading_plus | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.cn_in_degree_point_only | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.12.5.cn_in_degree_sign_and_point_only | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.12.5.cn_in_degree_sign_only | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.12.5.1.cn_e_notation_exponent_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.1.cn_e_notation_exponent_decimal | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.1.cn_e_notation_exponent_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.1.cn_e_notation_exponent_leading_plus | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.1.cn_e_notation_exponent_negative | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.1.cn_e_notation_significand_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.1.cn_e_notation_significand_decimal | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.1.cn_e_notation_significand_empty | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.1.cn_e_notation_significand_leading_plus | valid | ≠ reported an issue | ✓ accepted | differ |
| 2.12.5.1.cn_e_notation_significand_negative | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.1.cn_e_notation_significand_with_exponent | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.1.cn_type_plain | valid | ✓ accepted | ✓ accepted | agree |
| 2.12.5.1.cn_type_capitalized | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.1.cn_type_double | invalid | ✓ reported an issue | ≠ accepted | differ |
| 2.12.5.1.cn_type_e_notation_without_sep | invalid | ✓ reported an issue | ✓ reported an issue | agree |
| 2.12.5.1.cn_type_empty | invalid | ≠ accepted | ✓ reported an issue | differ |
| 2.12.5.1.cn_type_integer | invalid | ✓ reported an issue | ≠ accepted | differ |
Details
2.1.1.model_name_plain
models_2_0/valid/2.1.1.model_name_plain.cellml: rule 2.1.1, in valid.
<model name="x1">. Valid: a Basic Latin letter followed by a digit (rule 1.3.1.1). This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.1.1.model_name_empty
models_2_0/invalid/2.1.1.model_name_empty.cellml: rule 2.1.1, in invalid.
<model name="">. Invalid: an identifier has at least one character, a Basic Latin letter (rule 1.3.1.1), and an empty name has none.
- libCellML: ✓ reported an issue
validator error: Model '' does not have a valid name attribute. CellML identifiers must contain one or more basic Latin alphabetic characters.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 5. Model name must be a valid CellML identifier.
2.1.1.model_name_hyphen
models_2_0/invalid/2.1.1.model_name_hyphen.cellml: rule 2.1.1, in invalid.
<model name="x-y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a hyphen-minus.
- libCellML: ✓ reported an issue
validator error: Model 'x-y' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 5. Model name must be a valid CellML identifier.
2.1.1.model_name_leading_digit
models_2_0/invalid/2.1.1.model_name_leading_digit.cellml: rule 2.1.1, in invalid.
<model name="1x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with a digit.
- libCellML: ✓ reported an issue
validator error: Model '1x' does not have a valid name attribute. CellML identifiers must not begin with a European numeric character [0-9].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 5. Model name must be a valid CellML identifier.
2.1.1.model_name_leading_underscore
models_2_0/invalid/2.1.1.model_name_leading_underscore.cellml: rule 2.1.1, in invalid.
<model name="_x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with an underscore.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 5. Model name must be a valid CellML identifier.
2.1.1.model_name_non_latin_letter
models_2_0/invalid/2.1.1.model_name_non_latin_letter.cellml: rule 2.1.1, in invalid.
<model name="xé">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has the letter é (e with an acute accent), which is not Basic Latin.
- libCellML: ✓ reported an issue
validator error: Model 'xé' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 5. Model name must be a valid CellML identifier.
2.1.1.model_name_single_letter
models_2_0/valid/2.1.1.model_name_single_letter.cellml: rule 2.1.1, in valid.
<model name="x">. Valid: one Basic Latin letter is a whole identifier (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.1.1.model_name_space
models_2_0/invalid/2.1.1.model_name_space.cellml: rule 2.1.1, in invalid.
<model name="x y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a space.
- libCellML: ✓ reported an issue
validator error: Model 'x y' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 5. Model name must be a valid CellML identifier.
2.1.1.model_name_underscore_inside
models_2_0/valid/2.1.1.model_name_underscore_inside.cellml: rule 2.1.1, in valid.
<model name="x_1">. Valid: after the first letter, underscores are allowed (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.1.1.model_name_upper_case
models_2_0/valid/2.1.1.model_name_upper_case.cellml: rule 2.1.1, in valid.
<model name="X1">. Valid: a Basic Latin letter may be upper or lower case (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.5.1.units_name_plain
models_2_0/valid/2.5.1.units_name_plain.cellml: rule 2.5.1, in valid.
<units name="x1">. Valid: a Basic Latin letter followed by a digit (rule 1.3.1.1). This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: Unable to parse definition for units "x1", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_empty
models_2_0/invalid/2.5.1.units_name_empty.cellml: rule 2.5.1, in invalid.
<units name="">. Invalid: an identifier has at least one character, a Basic Latin letter (rule 1.3.1.1), and an empty name has none.
- libCellML: ✓ reported an issue
validator error: Units '' does not have a valid name attribute. CellML identifiers must contain one or more basic Latin alphabetic characters.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Units name must be a valid CellML identifier. warning: Unable to parse definition for units "", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_hyphen
models_2_0/invalid/2.5.1.units_name_hyphen.cellml: rule 2.5.1, in invalid.
<units name="x-y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a hyphen-minus.
- libCellML: ✓ reported an issue
validator error: Units 'x-y' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Units name must be a valid CellML identifier. warning: Unable to parse definition for units "x-y", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_leading_digit
models_2_0/invalid/2.5.1.units_name_leading_digit.cellml: rule 2.5.1, in invalid.
<units name="1x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with a digit.
- libCellML: ✓ reported an issue
validator error: Units '1x' does not have a valid name attribute. CellML identifiers must not begin with a European numeric character [0-9].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Units name must be a valid CellML identifier. warning: Unable to parse definition for units "1x", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_leading_underscore
models_2_0/invalid/2.5.1.units_name_leading_underscore.cellml: rule 2.5.1, in invalid.
<units name="_x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with an underscore.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Units name must be a valid CellML identifier. warning: Unable to parse definition for units "_x", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_non_latin_letter
models_2_0/invalid/2.5.1.units_name_non_latin_letter.cellml: rule 2.5.1, in invalid.
<units name="xé">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has the letter é (e with an acute accent), which is not Basic Latin.
- libCellML: ✓ reported an issue
validator error: Units 'xé' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Units name must be a valid CellML identifier. warning: Unable to parse definition for units "xé", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_single_letter
models_2_0/valid/2.5.1.units_name_single_letter.cellml: rule 2.5.1, in valid.
<units name="x">. Valid: one Basic Latin letter is a whole identifier (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: Unable to parse definition for units "x", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_space
models_2_0/invalid/2.5.1.units_name_space.cellml: rule 2.5.1, in invalid.
<units name="x y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a space.
- libCellML: ✓ reported an issue
validator error: Units 'x y' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Units name must be a valid CellML identifier. warning: Unable to parse definition for units "x y", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_underscore_inside
models_2_0/valid/2.5.1.units_name_underscore_inside.cellml: rule 2.5.1, in valid.
<units name="x_1">. Valid: after the first letter, underscores are allowed (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: Unable to parse definition for units "x_1", using `dimensionless instead. (Defining new base units is not supported.)
2.5.1.units_name_upper_case
models_2_0/valid/2.5.1.units_name_upper_case.cellml: rule 2.5.1, in valid.
<units name="X1">. Valid: a Basic Latin letter may be upper or lower case (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: Unable to parse definition for units "X1", using `dimensionless instead. (Defining new base units is not supported.)
2.6.2.1.unit_prefix_plain
models_2_0/valid/2.6.2.1.unit_prefix_plain.cellml: rule 2.6.2.1, in valid.
prefix="3". Valid: an integer string (rule 1.3.2), so the prefix term is 3 (rule 3.3.1.1.2). This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.6.2.1.unit_prefix_decimal
models_2_0/invalid/2.6.2.1.unit_prefix_decimal.cellml: rule 2.6.2.1, in invalid.
prefix="3.0". Invalid: it has a decimal point, so it is not an integer string (rule 1.3.2), and it is not a name in Table 3.2 either (rule 3.3.1.1.3).
- libCellML: ✓ reported an issue
validator error: Prefix '3.0' of a unit referencing 'volt' in units 'prefixed_volt' is not a valid integer or an SI prefix.
- Myokit: ✓ reported an issue
CellMLParsingError: Units prefix must be a string from the list of known prefixes or an integer string, got "3.0".
2.6.2.1.unit_prefix_e_notation
models_2_0/invalid/2.6.2.1.unit_prefix_e_notation.cellml: rule 2.6.2.1, in invalid.
prefix="1e3". Invalid: it has an exponent, so it is not an integer string (rule 1.3.2), and it is not a name in Table 3.2 either (rule 3.3.1.1.3).
- libCellML: ✓ reported an issue
validator error: Prefix '1e3' of a unit referencing 'volt' in units 'prefixed_volt' is not a valid integer or an SI prefix.
- Myokit: ✓ reported an issue
CellMLParsingError: Units prefix must be a string from the list of known prefixes or an integer string, got "1e3".
2.6.2.1.unit_prefix_empty
models_2_0/invalid/2.6.2.1.unit_prefix_empty.cellml: rule 2.6.2.1, in invalid.
prefix="". Invalid: an empty value has no digits (rule 1.3.2.3), so it is not an integer string (rule 1.3.2), and it is not a name in Table 3.2 either (rule 3.3.1.1.3).
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Units prefix must be a string from the list of known prefixes or an integer string, got "".
2.6.2.1.unit_prefix_large
models_2_0/valid/2.6.2.1.unit_prefix_large.cellml: rule 2.6.2.1, in valid.
prefix="400". Valid: an integer string, and the specification sets no range for the prefix term (rule 3.3.1.1.2).
- libCellML: ✓ accepted
- Myokit: ≠ reported an issue
CellMLParsingError: Unit prefix too large: 10^400
2.6.2.1.unit_prefix_leading_plus
models_2_0/valid/2.6.2.1.unit_prefix_leading_plus.cellml: rule 2.6.2.1, in valid.
prefix="+3". Valid: rule 1.3.2.2 lets an integer string begin with a single + sign.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.6.2.1.unit_prefix_name_capitalized
models_2_0/invalid/2.6.2.1.unit_prefix_name_capitalized.cellml: rule 2.6.2.1, in invalid.
prefix="Kilo". Invalid: Table 3.2 lists kilo in lower case, and a value that is not an integer string must be taken from its Name column as written (rule 3.3.1.1.3).
- libCellML: ✓ reported an issue
validator error: Prefix 'Kilo' of a unit referencing 'volt' in units 'prefixed_volt' is not a valid integer or an SI prefix.
- Myokit: ✓ reported an issue
CellMLParsingError: Units prefix must be a string from the list of known prefixes or an integer string, got "Kilo".
2.6.2.1.unit_prefix_name_deca
models_2_0/valid/2.6.2.1.unit_prefix_name_deca.cellml: rule 2.6.2.1, in valid.
prefix="deca". Valid: deca is in the Name column of Table 3.2, with the value 1 (rule 3.3.1.1.3).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.6.2.1.unit_prefix_name_deka
models_2_0/invalid/2.6.2.1.unit_prefix_name_deka.cellml: rule 2.6.2.1, in invalid.
prefix="deka". Invalid: Table 3.2 spells this prefix deca, and a value that is not an integer string must be taken from its Name column (rule 3.3.1.1.3).
- libCellML: ✓ reported an issue
validator error: Prefix 'deka' of a unit referencing 'volt' in units 'prefixed_volt' is not a valid integer or an SI prefix.
- Myokit: ✓ reported an issue
CellMLParsingError: Units prefix must be a string from the list of known prefixes or an integer string, got "deka".
2.6.2.1.unit_prefix_name_milli
models_2_0/valid/2.6.2.1.unit_prefix_name_milli.cellml: rule 2.6.2.1, in valid.
prefix="milli". Valid: milli is in the Name column of Table 3.2, with the value -3 (rule 3.3.1.1.3).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.6.2.1.unit_prefix_negative
models_2_0/valid/2.6.2.1.unit_prefix_negative.cellml: rule 2.6.2.1, in valid.
prefix="-3". Valid: rule 1.3.2.2 lets an integer string begin with a single hyphen-minus sign, so the prefix term is -3, the same as milli.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.6.2.1.unit_prefix_sign_only
models_2_0/invalid/2.6.2.1.unit_prefix_sign_only.cellml: rule 2.6.2.1, in invalid.
prefix="-". Invalid: it has a sign and no digits (rule 1.3.2.3), so it is not an integer string (rule 1.3.2), and it is not a name in Table 3.2 either (rule 3.3.1.1.3).
- libCellML: ✓ reported an issue
validator error: Prefix '-' of a unit referencing 'volt' in units 'prefixed_volt' is not a valid integer or an SI prefix.
- Myokit: ✓ reported an issue
CellMLParsingError: Units prefix must be a string from the list of known prefixes or an integer string, got "-".
2.6.2.2.unit_multiplier_plain
models_2_0/valid/2.6.2.2.unit_multiplier_plain.cellml: rule 2.6.2.2, in valid.
multiplier="2". Valid: a plain real number string. This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.6.2.2.unit_multiplier_beyond_double_range
models_2_0/valid/2.6.2.2.unit_multiplier_beyond_double_range.cellml: rule 2.6.2.2, in valid.
multiplier="1e999". Valid: rules 1.3.3 and 1.3.4 allow this syntax and the specification sets no range. 10 to the power 999 has no IEEE 754 double value, and the specification's maintainers confirmed in spec issue 366 that a number a computer cannot represent is still valid CellML: https://github.com/cellml/cellml-specification/issues/366
- libCellML: ≠ reported an issue
parser error: Unit referencing 'volt' in units 'scaled_volt' has a multiplier with the value '1e999' that is a representation of a CellML real valued number, but out of range of the 'double' type.
- Myokit: ≠ stopped unexpectedly
exit code 1: OverflowError: cannot convert float infinity to integer
2.6.2.2.unit_multiplier_empty
models_2_0/invalid/2.6.2.2.unit_multiplier_empty.cellml: rule 2.6.2.2, in invalid.
multiplier="". Invalid: an empty value has no digits at all, so it is not a real number string (rule 1.3.3.4).
- libCellML: ✓ reported an issue
parser error: Unit referencing 'volt' in units 'scaled_volt' has a multiplier with the value '' that is not a representation of a CellML real valued number.
- Myokit: ✓ reported an issue
CellMLParsingError: Unit multiplier must be a real number string, got "".
2.6.2.2.unit_multiplier_leading_plus
models_2_0/valid/2.6.2.2.unit_multiplier_leading_plus.cellml: rule 2.6.2.2, in valid.
multiplier="+2". Valid: rule 1.3.3.2 lets a basic real number string begin with a single + sign.
- libCellML: ≠ reported an issue
parser error: Unit referencing 'volt' in units 'scaled_volt' has a multiplier with the value '+2' that is not a representation of a CellML real valued number.
- Myokit: ✓ accepted
2.6.2.2.unit_multiplier_point_only
models_2_0/invalid/2.6.2.2.unit_multiplier_point_only.cellml: rule 2.6.2.2, in invalid.
multiplier=".". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a decimal point.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Unit multiplier must be a real number string, got ".".
2.6.2.2.unit_multiplier_sign_and_point_only
models_2_0/invalid/2.6.2.2.unit_multiplier_sign_and_point_only.cellml: rule 2.6.2.2, in invalid.
multiplier="-.". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign and a decimal point.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Unit multiplier must be a real number string, got "-.".
2.6.2.2.unit_multiplier_sign_only
models_2_0/invalid/2.6.2.2.unit_multiplier_sign_only.cellml: rule 2.6.2.2, in invalid.
multiplier="-". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Unit multiplier must be a real number string, got "-".
2.6.2.3.unit_exponent_plain
models_2_0/valid/2.6.2.3.unit_exponent_plain.cellml: rule 2.6.2.3, in valid.
exponent="2". Valid: a plain real number string. This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.6.2.3.unit_exponent_beyond_double_range
models_2_0/valid/2.6.2.3.unit_exponent_beyond_double_range.cellml: rule 2.6.2.3, in valid.
exponent="1e999". Valid: rules 1.3.3 and 1.3.4 allow this syntax and the specification sets no range. 10 to the power 999 has no IEEE 754 double value, and the specification's maintainers confirmed in spec issue 366 that a number a computer cannot represent is still valid CellML: https://github.com/cellml/cellml-specification/issues/366
- libCellML: ≠ reported an issue
parser error: Unit referencing 'volt' in units 'millivolt_power' has an exponent with the value '1e999' that is a representation of a CellML real valued number, but out of range of the 'double' type.
- Myokit: ≠ stopped unexpectedly
exit code 1: OverflowError: cannot convert float infinity to integer
2.6.2.3.unit_exponent_empty
models_2_0/invalid/2.6.2.3.unit_exponent_empty.cellml: rule 2.6.2.3, in invalid.
exponent="". Invalid: an empty value has no digits at all, so it is not a real number string (rule 1.3.3.4).
- libCellML: ✓ reported an issue
parser error: Unit referencing 'volt' in units 'millivolt_power' has an exponent with the value '' that is not a representation of a CellML real valued number.
- Myokit: ✓ reported an issue
CellMLParsingError: Unit exponent must be a real number string, got "1".
2.6.2.3.unit_exponent_leading_plus
models_2_0/valid/2.6.2.3.unit_exponent_leading_plus.cellml: rule 2.6.2.3, in valid.
exponent="+2". Valid: rule 1.3.3.2 lets a basic real number string begin with a single + sign.
- libCellML: ≠ reported an issue
parser error: Unit referencing 'volt' in units 'millivolt_power' has an exponent with the value '+2' that is not a representation of a CellML real valued number.
- Myokit: ✓ accepted
2.6.2.3.unit_exponent_point_only
models_2_0/invalid/2.6.2.3.unit_exponent_point_only.cellml: rule 2.6.2.3, in invalid.
exponent=".". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a decimal point.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Unit exponent must be a real number string, got "1".
2.6.2.3.unit_exponent_sign_and_point_only
models_2_0/invalid/2.6.2.3.unit_exponent_sign_and_point_only.cellml: rule 2.6.2.3, in invalid.
exponent="-.". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign and a decimal point.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Unit exponent must be a real number string, got "1".
2.6.2.3.unit_exponent_sign_only
models_2_0/invalid/2.6.2.3.unit_exponent_sign_only.cellml: rule 2.6.2.3, in invalid.
exponent="-". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Unit exponent must be a real number string, got "1".
2.7.1.component_name_plain
models_2_0/valid/2.7.1.component_name_plain.cellml: rule 2.7.1, in valid.
<component name="x1">. Valid: a Basic Latin letter followed by a digit (rule 1.3.1.1). This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.7.1.component_name_empty
models_2_0/invalid/2.7.1.component_name_empty.cellml: rule 2.7.1, in invalid.
<component name="">. Invalid: an identifier has at least one character, a Basic Latin letter (rule 1.3.1.1), and an empty name has none.
- libCellML: ✓ reported an issue
validator error: Component '' does not have a valid name attribute. CellML identifiers must contain one or more basic Latin alphabetic characters.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Component name must be a valid CellML identifier.
2.7.1.component_name_hyphen
models_2_0/invalid/2.7.1.component_name_hyphen.cellml: rule 2.7.1, in invalid.
<component name="x-y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a hyphen-minus.
- libCellML: ✓ reported an issue
validator error: Component 'x-y' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Component name must be a valid CellML identifier.
2.7.1.component_name_leading_digit
models_2_0/invalid/2.7.1.component_name_leading_digit.cellml: rule 2.7.1, in invalid.
<component name="1x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with a digit.
- libCellML: ✓ reported an issue
validator error: Component '1x' does not have a valid name attribute. CellML identifiers must not begin with a European numeric character [0-9].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Component name must be a valid CellML identifier.
2.7.1.component_name_leading_underscore
models_2_0/invalid/2.7.1.component_name_leading_underscore.cellml: rule 2.7.1, in invalid.
<component name="_x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with an underscore.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Component name must be a valid CellML identifier.
2.7.1.component_name_non_latin_letter
models_2_0/invalid/2.7.1.component_name_non_latin_letter.cellml: rule 2.7.1, in invalid.
<component name="xé">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has the letter é (e with an acute accent), which is not Basic Latin.
- libCellML: ✓ reported an issue
validator error: Component 'xé' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Component name must be a valid CellML identifier.
2.7.1.component_name_single_letter
models_2_0/valid/2.7.1.component_name_single_letter.cellml: rule 2.7.1, in valid.
<component name="x">. Valid: one Basic Latin letter is a whole identifier (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.7.1.component_name_space
models_2_0/invalid/2.7.1.component_name_space.cellml: rule 2.7.1, in invalid.
<component name="x y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a space.
- libCellML: ✓ reported an issue
validator error: Component 'x y' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 6. Component name must be a valid CellML identifier.
2.7.1.component_name_underscore_inside
models_2_0/valid/2.7.1.component_name_underscore_inside.cellml: rule 2.7.1, in valid.
<component name="x_1">. Valid: after the first letter, underscores are allowed (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.7.1.component_name_upper_case
models_2_0/valid/2.7.1.component_name_upper_case.cellml: rule 2.7.1, in valid.
<component name="X1">. Valid: a Basic Latin letter may be upper or lower case (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.8.1.1.variable_name_plain
models_2_0/valid/2.8.1.1.variable_name_plain.cellml: rule 2.8.1.1, in valid.
<variable name="x1">. Valid: a Basic Latin letter followed by a digit (rule 1.3.1.1). This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: No value set for Variable[@name="x1"] in Component[@name="c"].
2.8.1.1.variable_name_empty
models_2_0/invalid/2.8.1.1.variable_name_empty.cellml: rule 2.8.1.1, in invalid.
<variable name="">. Invalid: an identifier has at least one character, a Basic Latin letter (rule 1.3.1.1), and an empty name has none.
- libCellML: ✓ reported an issue
validator error: Variable '' in component 'c' does not have a valid name attribute. CellML identifiers must contain one or more basic Latin alphabetic characters.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. Variable name must be a valid CellML identifier.
2.8.1.1.variable_name_hyphen
models_2_0/invalid/2.8.1.1.variable_name_hyphen.cellml: rule 2.8.1.1, in invalid.
<variable name="x-y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a hyphen-minus.
- libCellML: ✓ reported an issue
validator error: Variable 'x-y' in component 'c' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. Variable name must be a valid CellML identifier.
2.8.1.1.variable_name_leading_digit
models_2_0/invalid/2.8.1.1.variable_name_leading_digit.cellml: rule 2.8.1.1, in invalid.
<variable name="1x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with a digit.
- libCellML: ✓ reported an issue
validator error: Variable '1x' in component 'c' does not have a valid name attribute. CellML identifiers must not begin with a European numeric character [0-9].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. Variable name must be a valid CellML identifier.
2.8.1.1.variable_name_leading_underscore
models_2_0/invalid/2.8.1.1.variable_name_leading_underscore.cellml: rule 2.8.1.1, in invalid.
<variable name="_x">. Invalid: an identifier must begin with a Basic Latin letter (rule 1.3.1.1), and this name begins with an underscore.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. Variable name must be a valid CellML identifier.
2.8.1.1.variable_name_non_latin_letter
models_2_0/invalid/2.8.1.1.variable_name_non_latin_letter.cellml: rule 2.8.1.1, in invalid.
<variable name="xé">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has the letter é (e with an acute accent), which is not Basic Latin.
- libCellML: ✓ reported an issue
validator error: Variable 'xé' in component 'c' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. Variable name must be a valid CellML identifier.
2.8.1.1.variable_name_single_letter
models_2_0/valid/2.8.1.1.variable_name_single_letter.cellml: rule 2.8.1.1, in valid.
<variable name="x">. Valid: one Basic Latin letter is a whole identifier (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: No value set for Variable[@name="x"] in Component[@name="c"].
2.8.1.1.variable_name_space
models_2_0/invalid/2.8.1.1.variable_name_space.cellml: rule 2.8.1.1, in invalid.
<variable name="x y">. Invalid: after the first letter, rule 1.3.1.1 allows only Basic Latin letters, digits and underscores, and this name has a space.
- libCellML: ✓ reported an issue
validator error: Variable 'x y' in component 'c' does not have a valid name attribute. CellML identifiers must not contain any characters other than [a-zA-Z0-9_].
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. Variable name must be a valid CellML identifier.
2.8.1.1.variable_name_underscore_inside
models_2_0/valid/2.8.1.1.variable_name_underscore_inside.cellml: rule 2.8.1.1, in valid.
<variable name="x_1">. Valid: after the first letter, underscores are allowed (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: No value set for Variable[@name="x_1"] in Component[@name="c"].
2.8.1.1.variable_name_upper_case
models_2_0/valid/2.8.1.1.variable_name_upper_case.cellml: rule 2.8.1.1, in valid.
<variable name="X1">. Valid: a Basic Latin letter may be upper or lower case (rule 1.3.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
warning: No value set for Variable[@name="X1"] in Component[@name="c"].
2.8.2.2.initial_value_plain
models_2_0/valid/2.8.2.2.initial_value_plain.cellml: rule 2.8.2.2, in valid.
initial_value="2". Valid: a plain real number string. This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.8.2.2.initial_value_beyond_double_range
models_2_0/valid/2.8.2.2.initial_value_beyond_double_range.cellml: rule 2.8.2.2, in valid.
initial_value="1e999". Valid: rules 1.3.3 and 1.3.4 allow this syntax and the specification sets no range. 10 to the power 999 has no IEEE 754 double value, and the specification's maintainers confirmed in spec issue 366 that a number a computer cannot represent is still valid CellML: https://github.com/cellml/cellml-specification/issues/366
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.8.2.2.initial_value_empty
models_2_0/invalid/2.8.2.2.initial_value_empty.cellml: rule 2.8.2.2, in invalid.
initial_value="". Invalid: an empty value has no digits at all, so it is not a real number string (rule 1.3.3.4). It is not a variable reference either (rule 3.6.2).
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. If given, a variable initial_value must be a real number or the name of a local variable, found "".
2.8.2.2.initial_value_leading_plus
models_2_0/valid/2.8.2.2.initial_value_leading_plus.cellml: rule 2.8.2.2, in valid.
initial_value="+2". Valid: rule 1.3.3.2 lets a basic real number string begin with a single + sign.
- libCellML: ≠ reported an issue
validator error: Variable 'x' in component 'c' has an invalid initial value '+2'. Initial values must be a real number string or a variable reference.
- Myokit: ✓ accepted
2.8.2.2.initial_value_point_only
models_2_0/invalid/2.8.2.2.initial_value_point_only.cellml: rule 2.8.2.2, in invalid.
initial_value=".". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a decimal point. It is not a variable reference either (rule 3.6.2).
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. If given, a variable initial_value must be a real number or the name of a local variable, found ".".
2.8.2.2.initial_value_sign_and_point_only
models_2_0/invalid/2.8.2.2.initial_value_sign_and_point_only.cellml: rule 2.8.2.2, in invalid.
initial_value="-.". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign and a decimal point. It is not a variable reference either (rule 3.6.2).
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. If given, a variable initial_value must be a real number or the name of a local variable, found "-.".
2.8.2.2.initial_value_sign_only
models_2_0/invalid/2.8.2.2.initial_value_sign_only.cellml: rule 2.8.2.2, in invalid.
initial_value="-". Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign. It is not a variable reference either (rule 3.6.2).
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 7. If given, a variable initial_value must be a real number or the name of a local variable, found "-".
2.12.5.cn_plain
models_2_0/valid/2.12.5.cn_plain.cellml: rule 2.12.5, in valid.
<cn>2</cn>. Valid: a plain real number string. This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.cn_beyond_double_range
models_2_0/valid/2.12.5.cn_beyond_double_range.cellml: rule 2.12.5, in valid.
<cn>1e999</cn>. Valid: rules 1.3.3 and 1.3.4 allow this syntax and the specification sets no range. 10 to the power 999 has no IEEE 754 double value, and the specification's maintainers confirmed in spec issue 366 that a number a computer cannot represent is still valid CellML: https://github.com/cellml/cellml-specification/issues/366
- libCellML: ≠ reported an issue
validator error: Math has a 'cn' element of 'real' type with no valid text node (representing a basic number) as a child.
- Myokit: ✓ accepted
2.12.5.cn_empty
models_2_0/invalid/2.12.5.cn_empty.cellml: rule 2.12.5, in invalid.
<cn></cn>. Invalid: an empty value has no digits at all, so it is not a real number string (rule 1.3.3.4).
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element of 'real' type with no valid text node (representing a basic number) as a child.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Empty <cn> element
2.12.5.cn_leading_plus
models_2_0/valid/2.12.5.cn_leading_plus.cellml: rule 2.12.5, in valid.
<cn>+2</cn>. Valid: rule 1.3.3.2 lets a basic real number string begin with a single + sign.
- libCellML: ≠ reported an issue
validator error: Math has a 'cn' element of 'real' type with no valid text node (representing a basic number) as a child.
- Myokit: ✓ accepted
2.12.5.cn_point_only
models_2_0/invalid/2.12.5.cn_point_only.cellml: rule 2.12.5, in invalid.
<cn>.</cn>. Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a decimal point.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unable to convert contents of <cn> to a real number: ".".
2.12.5.cn_sign_and_point_only
models_2_0/invalid/2.12.5.cn_sign_and_point_only.cellml: rule 2.12.5, in invalid.
<cn>-.</cn>. Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign and a decimal point.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unable to convert contents of <cn> to a real number: "-.".
2.12.5.cn_sign_only
models_2_0/invalid/2.12.5.cn_sign_only.cellml: rule 2.12.5, in invalid.
<cn>-</cn>. Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign.
- libCellML: ≠ stopped unexpectedly
ended by signal 6 (SIGABRT): terminate called after throwing an instance of 'std::invalid_argument' what(): stod
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unable to convert contents of <cn> to a real number: "-".
2.12.5.cn_base_plain
models_2_0/valid/2.12.5.cn_base_plain.cellml: rule 2.12.5, in valid.
<cn base="10">2</cn>. Valid: base 10, written out. This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.cn_base_16
models_2_0/invalid/2.12.5.cn_base_16.cellml: rule 2.12.5, in invalid.
<cn base="16">2</cn>. Invalid: rule 2.12.5 requires base 10, and this cn is base 16, even though 2 is a digit in both.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element which is not in base 10.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Real numbers in bases other than 10 are not supported.
2.12.5.cn_base_8
models_2_0/invalid/2.12.5.cn_base_8.cellml: rule 2.12.5, in invalid.
<cn base="8">2</cn>. Invalid: rule 2.12.5 requires base 10, and this cn is base 8, even though 2 is a digit in both.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element which is not in base 10.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Real numbers in bases other than 10 are not supported.
2.12.5.cn_in_degree_plain
models_2_0/valid/2.12.5.cn_in_degree_plain.cellml: rule 2.12.5, in valid.
<degree><cn>2</cn></degree>. Valid: a plain real number string. This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.cn_in_degree_beyond_double_range
models_2_0/valid/2.12.5.cn_in_degree_beyond_double_range.cellml: rule 2.12.5, in valid.
<degree><cn>1e999</cn></degree>. Valid: rules 1.3.3 and 1.3.4 allow this syntax and the specification sets no range. 10 to the power 999 has no IEEE 754 double value, and the specification's maintainers confirmed in spec issue 366 that a number a computer cannot represent is still valid CellML: https://github.com/cellml/cellml-specification/issues/366
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.cn_in_degree_empty
models_2_0/invalid/2.12.5.cn_in_degree_empty.cellml: rule 2.12.5, in invalid.
<degree><cn></cn></degree>. Invalid: an empty value has no digits at all, so it is not a real number string (rule 1.3.3.4).
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 15. Empty <cn> element
2.12.5.cn_in_degree_leading_plus
models_2_0/valid/2.12.5.cn_in_degree_leading_plus.cellml: rule 2.12.5, in valid.
<degree><cn>+2</cn></degree>. Valid: rule 1.3.3.2 lets a basic real number string begin with a single + sign.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.cn_in_degree_point_only
models_2_0/invalid/2.12.5.cn_in_degree_point_only.cellml: rule 2.12.5, in invalid.
<degree><cn>.</cn></degree>. Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a decimal point.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 15. Unable to convert contents of <cn> to a real number: ".".
2.12.5.cn_in_degree_sign_and_point_only
models_2_0/invalid/2.12.5.cn_in_degree_sign_and_point_only.cellml: rule 2.12.5, in invalid.
<degree><cn>-.</cn></degree>. Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign and a decimal point.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 15. Unable to convert contents of <cn> to a real number: "-.".
2.12.5.cn_in_degree_sign_only
models_2_0/invalid/2.12.5.cn_in_degree_sign_only.cellml: rule 2.12.5, in invalid.
<degree><cn>-</cn></degree>. Invalid: rule 1.3.3.4 requires one or more digits besides the sign and the decimal point, and this value has only a sign.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 15. Unable to convert contents of <cn> to a real number: "-".
2.12.5.1.cn_e_notation_exponent_plain
models_2_0/valid/2.12.5.1.cn_e_notation_exponent_plain.cellml: rule 2.12.5.1, in valid.
<cn type="e-notation">2<sep/>3</cn>. Valid: 2 times 10 to the power 3. This is the control file for the exponent: every other file for it differs in the exponent only.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.1.cn_e_notation_exponent_decimal
models_2_0/invalid/2.12.5.1.cn_e_notation_exponent_decimal.cellml: rule 2.12.5.1, in invalid.
<cn type="e-notation">2<sep/>3.5</cn>. Invalid: the exponent of e-notation is an integer (MathML 2.0, 4.4.1.1), and 3.5 has a decimal point.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element of 'e-notation' type with no valid text node (representing a basic number), no 'sep' element, and/or no valid text node (representing an integer) as children.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unable to parse number in e-notation: part after the separator should be an integer.
2.12.5.1.cn_e_notation_exponent_empty
models_2_0/invalid/2.12.5.1.cn_e_notation_exponent_empty.cellml: rule 2.12.5.1, in invalid.
<cn type="e-notation">2<sep/></cn>. Invalid: the exponent of e-notation is an integer (MathML 2.0, 4.4.1.1), and an empty exponent has no digits.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element of 'e-notation' type with no valid text node (representing a basic number), no 'sep' element, and/or no valid text node (representing an integer) as children.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unable to parse number in e-notation: missing part after the separator.
2.12.5.1.cn_e_notation_exponent_leading_plus
models_2_0/valid/2.12.5.1.cn_e_notation_exponent_leading_plus.cellml: rule 2.12.5.1, in valid.
<cn type="e-notation">2<sep/>+3</cn>. Valid: the exponent is an integer, which may begin with a single + sign (MathML 2.0; rule 1.3.2.2). The informative specification allows this sign too.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.1.cn_e_notation_exponent_negative
models_2_0/valid/2.12.5.1.cn_e_notation_exponent_negative.cellml: rule 2.12.5.1, in valid.
<cn type="e-notation">2<sep/>-3</cn>. Valid: the exponent is an integer, which may begin with a single hyphen-minus sign (MathML 2.0; rule 1.3.2.2).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.1.cn_e_notation_significand_plain
models_2_0/valid/2.12.5.1.cn_e_notation_significand_plain.cellml: rule 2.12.5.1, in valid.
<cn type="e-notation">2<sep/>3</cn>. Valid: 2 times 10 to the power 3. This is the control file for the significand: every other file for it differs in the significand only.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.1.cn_e_notation_significand_decimal
models_2_0/valid/2.12.5.1.cn_e_notation_significand_decimal.cellml: rule 2.12.5.1, in valid.
<cn type="e-notation">2.5<sep/>3</cn>. Valid: the significand is a real in decimal notation, which may have a decimal point (MathML 2.0, 4.4.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.1.cn_e_notation_significand_empty
models_2_0/invalid/2.12.5.1.cn_e_notation_significand_empty.cellml: rule 2.12.5.1, in invalid.
<cn type="e-notation"><sep/>3</cn>. Invalid: the significand is a real in decimal notation (MathML 2.0, 4.4.1.1), and an empty significand has no digits.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element of 'e-notation' type with no valid text node (representing a basic number), no 'sep' element, and/or no valid text node (representing an integer) as children.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unable to parse number in e-notation: missing part before the separator.
2.12.5.1.cn_e_notation_significand_leading_plus
models_2_0/valid/2.12.5.1.cn_e_notation_significand_leading_plus.cellml: rule 2.12.5.1, in valid.
<cn type="e-notation">+2<sep/>3</cn>. Valid: the significand is a real in decimal notation, which may begin with a + sign (MathML 2.0, 4.4.1.1).
- libCellML: ≠ reported an issue
validator error: Math has a 'cn' element of 'e-notation' type with no valid text node (representing a basic number), no 'sep' element, and/or no valid text node (representing an integer) as children.
- Myokit: ✓ accepted
2.12.5.1.cn_e_notation_significand_negative
models_2_0/valid/2.12.5.1.cn_e_notation_significand_negative.cellml: rule 2.12.5.1, in valid.
<cn type="e-notation">-2<sep/>3</cn>. Valid: the significand is a real in decimal notation, which may begin with a hyphen-minus sign (MathML 2.0, 4.4.1.1).
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.1.cn_e_notation_significand_with_exponent
models_2_0/invalid/2.12.5.1.cn_e_notation_significand_with_exponent.cellml: rule 2.12.5.1, in invalid.
<cn type="e-notation">2e1<sep/>3</cn>. Invalid: the significand is a real in decimal notation (MathML 2.0, 4.4.1.1), so it cannot carry an exponent of its own; the exponent goes after the sep.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element of 'e-notation' type with no valid text node (representing a basic number), no 'sep' element, and/or no valid text node (representing an integer) as children.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unable to parse number in e-notation: part before the separator should be a basic real number.
2.12.5.1.cn_type_plain
models_2_0/valid/2.12.5.1.cn_type_plain.cellml: rule 2.12.5.1, in valid.
<cn type="real">2</cn>. Valid: real is one of the two allowed types, written out. This is the control file for this place: every other file for it differs in this one value.
- libCellML: ✓ accepted
- Myokit: ✓ accepted
2.12.5.1.cn_type_capitalized
models_2_0/invalid/2.12.5.1.cn_type_capitalized.cellml: rule 2.12.5.1, in invalid.
<cn type="Real">2</cn>. Invalid: rule 2.12.5.1 allows only the types real and e-notation, and the type is written real, in lower case.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element which is not of 'real' or 'e-notation' type.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unsupported <cn> type: Real
2.12.5.1.cn_type_double
models_2_0/invalid/2.12.5.1.cn_type_double.cellml: rule 2.12.5.1, in invalid.
<cn type="double">2</cn>. Invalid: rule 2.12.5.1 allows only the types real and e-notation, and double is a MathML 3 type, not one of them.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element which is not of 'real' or 'e-notation' type.
- Myokit: ≠ accepted
2.12.5.1.cn_type_e_notation_without_sep
models_2_0/invalid/2.12.5.1.cn_type_e_notation_without_sep.cellml: rule 2.12.5.1, in invalid.
<cn type="e-notation">2</cn>. Invalid: e-notation is an allowed type, but MathML 2.0 (section 4.4.1.1) writes it as a significand and an exponent on either side of a sep element, and this cn has no sep (rule 2.12.1).
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element of 'e-notation' type with no valid text node (representing a basic number), no 'sep' element, and/or no valid text node (representing an integer) as children.
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Number in e-notation should have the format number<sep />number.
2.12.5.1.cn_type_empty
models_2_0/invalid/2.12.5.1.cn_type_empty.cellml: rule 2.12.5.1, in invalid.
<cn type="">2</cn>. Invalid: rule 2.12.5.1 allows only the types real and e-notation, and an empty type is neither.
- libCellML: ≠ accepted
- Myokit: ✓ reported an issue
CellMLParsingError: Error on line 12. Unsupported <cn> type:
2.12.5.1.cn_type_integer
models_2_0/invalid/2.12.5.1.cn_type_integer.cellml: rule 2.12.5.1, in invalid.
<cn type="integer">2</cn>. Invalid: rule 2.12.5.1 allows only the types real and e-notation, and integer is a MathML type CellML 2.0 leaves out.
- libCellML: ✓ reported an issue
validator error: Math has a 'cn' element which is not of 'real' or 'e-notation' type.
- Myokit: ≠ accepted