Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the validation #1225

Merged
merged 52 commits into from
May 16, 2024
Merged
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
c2102c2
Remove unused includes from validator.h.
hsorby Apr 8, 2024
3e9aa02
Update ReferenceRule enumerations to validator coverage document.
hsorby Apr 9, 2024
877bb8e
Remove INVLID from IMPORT_HREF_INVALID_LOCATOR.
hsorby Apr 9, 2024
dd26313
Add in missing reference rule enumerations.
hsorby Apr 9, 2024
8bbbb4d
Add missing reference rule enumeration IMPORT_COMPONENT_ELEMENT.
hsorby Apr 9, 2024
2f7508f
Change around variable required and optional reference rule enumerati…
hsorby Apr 9, 2024
64656d5
Rename reference rule RESET_REQUIRED_ATTRIBUTE to RESET_ATTRIBUTE_REQ…
hsorby Apr 9, 2024
e36c2a7
Remove MAP_VARIABLES_IDENTICAL_UNIT_REDUCTION from reference rule enu…
hsorby Apr 9, 2024
83643e2
Update ruleToInformation map.
hsorby Apr 9, 2024
8b66e17
Reinstate three specification errors that are used to test for invali…
hsorby Apr 9, 2024
532e15d
Update Python reference rule enumeration to correctly reflect the cur…
hsorby Apr 9, 2024
dddac54
Update tests to use the latest ReferenceRule settings.
hsorby Apr 9, 2024
3dc9aa1
Implement changes due to modifications to the reference rule enumerat…
hsorby Apr 9, 2024
42b3bc6
Modify invalidModelWithTextInAllElements test to cover empty componet…
hsorby Apr 9, 2024
ababa10
Merge branch 'main' into validator
hsorby Apr 9, 2024
e1d73c0
Update reference rule for javascript bindings.
hsorby Apr 9, 2024
109105c
Cover all 2.1 validation issues.
hsorby Apr 10, 2024
c26ba33
Cover all 2.2 validation issues.
hsorby Apr 10, 2024
63250b9
Cover all 2.3 validation issues.
hsorby Apr 10, 2024
2e49fcf
Cover all 2.4 validation issues.
hsorby Apr 10, 2024
9ad6531
Cover all 2.5 validation issues.
hsorby Apr 11, 2024
e7d3598
Cover all 2.6 validation issues.
hsorby Apr 11, 2024
d84139f
Cover all 2.7 validation issues.
hsorby Apr 11, 2024
c2248cf
Cover all 2.8 validation issues.
hsorby Apr 11, 2024
df26df8
Cover all 2.9 validation issues.
hsorby Apr 11, 2024
2b4cda7
Cover all 2.10 and 2.11 validation issues.
hsorby Apr 11, 2024
21e305b
Cover all 2.12 validation issues.
hsorby Apr 11, 2024
b310c32
Cover all 2.14 validation issues.
hsorby Apr 11, 2024
9ca44bb
Cover all 2.15 validation issues.
hsorby Apr 11, 2024
e50dc61
Cover all 2.16 validation issues.
hsorby Apr 11, 2024
ffafd87
Rename typedef ConnectionList to NamePairList.
hsorby Apr 11, 2024
5e3cae7
Replace 'or' with '||'.
hsorby Apr 11, 2024
dfb9af5
Correct Javascript test answer for number of parse errors.
hsorby Apr 11, 2024
41d9346
Apply clang format fixes.
hsorby Apr 11, 2024
dd7392f
Add catch for attributes with namespaces that are not allowed by the …
hsorby Apr 19, 2024
dab7908
Catch unexpected element namespaces.
hsorby Apr 19, 2024
4f69c67
Detect unexpected text when parsing document.
hsorby Apr 20, 2024
c8d4510
Use correct reference rule for component_ref child issue.
hsorby Apr 20, 2024
e572c5a
Consolidate checking of MathML elements.
hsorby Apr 20, 2024
da10508
Add comparison to nullptr for consistency in Parser::ParserImpl::load…
hsorby Apr 20, 2024
05f566e
Use XML_UNEXPECTED_ELEMENT issue enumeration.
hsorby Apr 20, 2024
9659242
Use XML_UNEXPECTED_ELEMENT when invalid elements are found when parsing.
hsorby May 1, 2024
0050a75
Add #.
hsorby May 8, 2024
48d7eed
Remove #.
hsorby May 8, 2024
a22d3d7
Merge branch 'main' into validator
nickerso May 11, 2024
fc419b6
Replace xlink href with xlink:href.
hsorby May 14, 2024
c54d8e9
Fix typo anyassociated.
hsorby May 14, 2024
8d263f5
Check the exact issue descriptions of errors.
hsorby May 14, 2024
f1e2c3a
Shorten documentation for xmllutils.h functions.
hsorby May 14, 2024
13f8408
Parentheses.
hsorby May 14, 2024
9deffb3
Add namespace information to error description.
hsorby May 14, 2024
ef6ab6f
Add repeatedConnectionCross test.
hsorby May 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 74 additions & 53 deletions src/api/libcellml/issue.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,92 +68,113 @@ class LIBCELLML_EXPORT Issue
{
UNDEFINED,

// Specification errors.
// Specification errors:
agarny marked this conversation as resolved.
Show resolved Hide resolved
XML,
XML_UNEXPECTED_ELEMENT,
XML_UNEXPECTED_CHARACTER,
XML_UNEXPECTED_NAMESPACE,
XML_ATTRIBUTE_HAS_NAMESPACE,
XML_ID_ATTRIBUTE,
DATA_REPR_IDENTIFIER_UNICODE,
DATA_REPR_IDENTIFIER_LATIN_ALPHANUM,
DATA_REPR_IDENTIFIER_AT_LEAST_ONE_ALPHANUM,
DATA_REPR_IDENTIFIER_BEGIN_EURO_NUM,
DATA_REPR_IDENTIFIER_IDENTICAL,
DATA_REPR_INT_BASE10,
DATA_REPR_INT_SIGN,
DATA_REPR_INT_DIGIT,
DATA_REPR_BASIC_REAL_BASE10,
DATA_REPR_BASIC_REAL_SIGN,
DATA_REPR_BASIC_REAL_DECIMAL,
DATA_REPR_BASIC_REAL_DIGIT,
DATA_REPR_REAL_BASE10,
DATA_REPR_REAL_SIGNIFICAND,
DATA_REPR_REAL_EXPONENT,
MODEL_ELEMENT,
MODEL_NAME,
MODEL_NAME_VALUE,
MODEL_CHILD,
MODEL_MORE_THAN_ONE_ENCAPSULATION,
IMPORT_ATTRIBUTE,
IMPORT_ELEMENT,
IMPORT_HREF,
IMPORT_HREF_LOCATOR,
IMPORT_CHILD,
IMPORT_EQUIVALENT,
IMPORT_EQUIVALENT_INFOSET,
IMPORT_UNITS_ELEMENT,
IMPORT_UNITS_NAME,
IMPORT_UNITS_NAME_VALUE,
IMPORT_UNITS_NAME_UNIQUE,
IMPORT_UNITS_REF,
IMPORT_UNITS_UNITS_REFERENCE,
IMPORT_UNITS_UNITS_REFERENCE_VALUE,
IMPORT_UNITS_UNITS_REFERENCE_VALUE_TARGET,
IMPORT_COMPONENT_ELEMENT,
IMPORT_COMPONENT_NAME,
IMPORT_COMPONENT_NAME_VALUE,
IMPORT_COMPONENT_NAME_UNIQUE,
IMPORT_COMPONENT_COMPONENT_REF,
UNITS_ATTRIBUTE,
IMPORT_COMPONENT_COMPONENT_REFERENCE,
IMPORT_COMPONENT_COMPONENT_REFERENCE_VALUE,
IMPORT_COMPONENT_COMPONENT_REFERENCE_TARGET,
UNITS_ELEMENT,
UNITS_NAME,
UNITS_NAME_VALUE,
UNITS_NAME_UNIQUE,
UNITS_STANDARD,
UNITS_CHILD,
UNIT_ATTRIBUTE,
UNIT_UNITS_REF,
UNIT_CIRCULAR_REF,
UNIT_OPTIONAL_ATTRIBUTE,
UNIT_PREFIX,
UNIT_MULTIPLIER,
UNIT_EXPONENT,
COMPONENT_ATTRIBUTE,
UNIT_ELEMENT,
UNIT_UNITS,
UNIT_UNITS_REFERENCE,
UNIT_UNITS_CIRCULAR_REFERENCE,
UNIT_ATTRIBUTE_OPTIONAL,
UNIT_ATTRIBUTE_PREFIX_VALUE,
UNIT_ATTRIBUTE_MULTIPLIER_VALUE,
UNIT_ATTRIBUTE_EXPONENT_VALUE,
COMPONENT_ELEMENT,
COMPONENT_NAME,
COMPONENT_NAME_VALUE,
COMPONENT_NAME_UNIQUE,
COMPONENT_CHILD,
VARIABLE_ATTRIBUTE,
VARIABLE_CHILD,
VARIABLE_NAME,
VARIABLE_ELEMENT,
VARIABLE_ATTRIBUTE_REQUIRED,
VARIABLE_NAME_VALUE,
VARIABLE_NAME_UNIQUE,
VARIABLE_UNITS,
VARIABLE_INTERFACE,
VARIABLE_INITIAL_VALUE,
RESET_ATTRIBUTE,
RESET_VARIABLE_REF,
RESET_TEST_VARIABLE_REF,
RESET_ORDER,
VARIABLE_UNITS_VALUE,
VARIABLE_ATTRIBUTE_OPTIONAL,
VARIABLE_INTERFACE_VALUE,
VARIABLE_INITIAL_VALUE_VALUE,
RESET_ELEMENT,
RESET_ATTRIBUTE_REQUIRED,
RESET_VARIABLE_REFERENCE,
RESET_TEST_VARIABLE_REFERENCE,
RESET_ORDER_VALUE,
RESET_ORDER_UNIQUE,
RESET_CHILD,
RESET_TEST_VALUE,
RESET_RESET_VALUE,
RESET_RESET_VALUE_CHILD,
RESET_TEST_VALUE_CHILD,
TEST_VALUE_ELEMENT,
TEST_VALUE_CHILD,
RESET_VALUE_ELEMENT,
RESET_VALUE_CHILD,
MATH_ELEMENT,
MATH_MATHML,
MATH_CHILD,
MATH_CI_VARIABLE_REF,
MATH_CN_UNITS,
MATH_CI_VARIABLE_REFERENCE,
MATH_CN_UNITS_ATTRIBUTE,
MATH_CN_UNITS_ATTRIBUTE_REFERENCE,
MATH_CN_BASE10,
MATH_CN_FORMAT,
ENCAPSULATION_ATTRIBUTE,
ENCAPSULATION_ELEMENT,
ENCAPSULATION_CHILD,
COMPONENT_REF_COMPONENT,
COMPONENT_REF_ELEMENT,
COMPONENT_REF_COMPONENT_ATTRIBUTE,
COMPONENT_REF_COMPONENT_ATTRIBUTE_REFERENCE,
COMPONENT_REF_COMPONENT_ATTRIBUTE_UNIQUE,
COMPONENT_REF_CHILD,
CONNECTION_ATTRIBUTE,
CONNECTION_COMPONENT1,
CONNECTION_COMPONENT2,
CONNECTION_ELEMENT,
CONNECTION_COMPONENT1_ATTRIBUTE,
CONNECTION_COMPONENT1_ATTRIBUTE_REFERENCE,
CONNECTION_COMPONENT2_ATTRIBUTE,
CONNECTION_COMPONENT2_ATTRIBUTE_REFERENCE,
CONNECTION_EXCLUDE_SELF,
CONNECTION_UNIQUE,
CONNECTION_CHILD,
MAP_VARIABLES_ATTRIBUTE,
MAP_VARIABLES_VARIABLE1,
MAP_VARIABLES_VARIABLE2,
MAP_VARIABLES_ELEMENT,
MAP_VARIABLES_VARIABLE1_ATTRIBUTE,
MAP_VARIABLES_VARIABLE1_ATTRIBUTE_REFERENCE,
MAP_VARIABLES_VARIABLE2_ATTRIBUTE,
MAP_VARIABLES_VARIABLE2_ATTRIBUTE_REFERENCE,
MAP_VARIABLES_UNIQUE,
MAP_VARIABLES_AVAILABLE_INTERFACE,

// Secondary specification errors:
DATA_REPR_IDENTIFIER_AT_LEAST_ONE_ALPHANUM,
DATA_REPR_IDENTIFIER_BEGIN_EURO_NUM,
DATA_REPR_IDENTIFIER_LATIN_ALPHANUM,

// Issues not present in the normative specification:
MAP_VARIABLES_IDENTICAL_UNIT_REDUCTION,
INVALID_ARGUMENT,

// Importer class issues:
Expand Down
3 changes: 0 additions & 3 deletions src/api/libcellml/validator.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ limitations under the License.

#pragma once

#include <string>
#include <vector>

#include "libcellml/logger.h"
#include "libcellml/types.h"

Expand Down
Loading